{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e017c9a3",
   "metadata": {},
   "source": [
    "# Learning to stabilize nonlinear ODE\n",
    "\n",
    "For this example we demonstrate learning to stabilize an underactuated nonlinear ODE system using [Differentiable predictive control (DPC) method](https://www.sciencedirect.com/science/article/pii/S0959152422000981). \n",
    "\n",
    "**Differentiable Predictive Control method**:  \n",
    "The DPC is a model-based policy optimization algorithm, that exploits the differentiability of a wide class of model representations for dynamical systems, including differential equations, state-space models, or various neural network architectures. In DPC, we construct a differentiable closed-loop system composed of neural control policy and system dynamics model that is to be optimized using parametric control objectives as intrinsic reward signals evaluated over a sampled distribution of the problem parameters.\n",
    "\n",
    "<img src=\"./figs/DPC_simple_method.png\" width=\"600\">  \n",
    "\n",
    "system: [Van der Pol oscillator](https://en.wikipedia.org/wiki/Van_der_Pol_oscillator)  \n",
    "see section V.A in for system equations: https://arxiv.org/abs/2203.14114  \n",
    "objective: stabilize towards origin   \n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ff3ffdcd",
   "metadata": {},
   "source": [
    "## NeuroMANCER and Dependencies"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9bac7825",
   "metadata": {},
   "source": [
    "### Install (Colab only)\n",
    "Skip this step when running locally."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "aa12921d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master\n",
      "  Cloning https://github.com/pnnl/neuromancer.git (to revision master) to c:\\users\\drgo694\\appdata\\local\\temp\\pip-install-grude3rc\\neuromancer_a948fdde05f447218e6f26c764267870\n",
      "  Resolved https://github.com/pnnl/neuromancer.git to commit 357f7ac5da1e653e9d6b2d2040328a262eaa19ae\n",
      "  Installing build dependencies: started\n",
      "  Installing build dependencies: finished with status 'done'\n",
      "  Getting requirements to build wheel: started\n",
      "  Getting requirements to build wheel: finished with status 'done'\n",
      "  Installing backend dependencies: started\n",
      "  Installing backend dependencies: finished with status 'done'\n",
      "  Preparing metadata (pyproject.toml): started\n",
      "  Preparing metadata (pyproject.toml): finished with status 'done'\n",
      "Requirement already satisfied: six in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.16.0)\n",
      "Collecting mlflow==2.5.0\n",
      "  Downloading mlflow-2.5.0-py3-none-any.whl (18.2 MB)\n",
      "     --------------------------------------- 18.2/18.2 MB 34.5 MB/s eta 0:00:00\n",
      "Requirement already satisfied: scikit-learn in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.2.1)\n",
      "Collecting colorama==0.4.5\n",
      "  Using cached colorama-0.4.5-py2.py3-none-any.whl (16 kB)\n",
      "Requirement already satisfied: torch in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.12.1)\n",
      "Requirement already satisfied: toml in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.10.2)\n",
      "Requirement already satisfied: pydot==1.4.2 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.4.2)\n",
      "Requirement already satisfied: plum-dispatch==1.7.3 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.7.3)\n",
      "Requirement already satisfied: matplotlib in c:\\users\\drgo694\\appdata\\roaming\\python\\python310\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.7.2)\n",
      "Collecting pygame\n",
      "  Using cached pygame-2.5.1-cp310-cp310-win_amd64.whl (10.6 MB)\n",
      "Collecting graphviz\n",
      "  Using cached graphviz-0.20.1-py3-none-any.whl (47 kB)\n",
      "Requirement already satisfied: scipy in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.10.0)\n",
      "Requirement already satisfied: pyts in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.13.0)\n",
      "Collecting gymnasium==0.28.1\n",
      "  Using cached gymnasium-0.28.1-py3-none-any.whl (925 kB)\n",
      "Requirement already satisfied: dill in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.3.6)\n",
      "Requirement already satisfied: pandas in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.5.3)\n",
      "Requirement already satisfied: numpy<1.24.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.23.5)\n",
      "Requirement already satisfied: networkx==3.0.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.0)\n",
      "Requirement already satisfied: torchdiffeq in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.2.3)\n",
      "Requirement already satisfied: cvxpy in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.3.1)\n",
      "Requirement already satisfied: imageio in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.26.0)\n",
      "Requirement already satisfied: casadi in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.6.3)\n",
      "Requirement already satisfied: cloudpickle>=1.2.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from gymnasium==0.28.1->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.0.0)\n",
      "Requirement already satisfied: typing-extensions>=4.3.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from gymnasium==0.28.1->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (4.4.0)\n",
      "Collecting farama-notifications>=0.0.1\n",
      "  Using cached Farama_Notifications-0.0.4-py3-none-any.whl (2.5 kB)\n",
      "Collecting jax-jumpy>=1.0.0\n",
      "  Using cached jax_jumpy-1.0.0-py3-none-any.whl (20 kB)\n",
      "Requirement already satisfied: pyarrow<13,>=4.0.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (12.0.1)\n",
      "Requirement already satisfied: docker<7,>=4.0.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (6.1.3)\n",
      "Requirement already satisfied: Jinja2<4,>=3.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.1.2)\n",
      "Requirement already satisfied: sqlparse<1,>=0.4.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.4.4)\n",
      "Requirement already satisfied: gitpython<4,>=2.1.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.1.31)\n",
      "Requirement already satisfied: entrypoints<1 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.4)\n",
      "Requirement already satisfied: pyyaml<7,>=5.1 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (6.0)\n",
      "Requirement already satisfied: querystring-parser<2 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.2.4)\n",
      "Requirement already satisfied: protobuf<5,>=3.12.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (4.23.3)\n",
      "Requirement already satisfied: importlib-metadata!=4.7.0,<7,>=3.7.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (4.11.3)\n",
      "Requirement already satisfied: sqlalchemy<3,>=1.4.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.4.39)\n",
      "Requirement already satisfied: click<9,>=7.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (8.0.4)\n",
      "Requirement already satisfied: pytz<2024 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2022.7)\n",
      "Requirement already satisfied: alembic!=1.10.0,<2 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.11.1)\n",
      "Requirement already satisfied: packaging<24 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (22.0)\n",
      "Requirement already satisfied: databricks-cli<1,>=0.8.7 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.17.7)\n",
      "Requirement already satisfied: Flask<3 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.2.2)\n",
      "Requirement already satisfied: markdown<4,>=3.3 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.4.1)\n",
      "Requirement already satisfied: requests<3,>=2.17.3 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.28.1)\n",
      "Requirement already satisfied: waitress<3 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.1.2)\n",
      "Requirement already satisfied: pyparsing>=2.1.4 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from pydot==1.4.2->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.0.9)\n",
      "Requirement already satisfied: kiwisolver>=1.0.1 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from matplotlib->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.4.4)\n",
      "Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from matplotlib->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.0.5)\n",
      "Requirement already satisfied: pillow>=6.2.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from matplotlib->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (9.4.0)\n",
      "Requirement already satisfied: cycler>=0.10 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from matplotlib->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.11.0)\n",
      "Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from matplotlib->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (4.25.0)\n",
      "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from matplotlib->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.8.2)\n",
      "Requirement already satisfied: threadpoolctl>=2.0.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from scikit-learn->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.2.0)\n",
      "Requirement already satisfied: joblib>=1.1.1 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from scikit-learn->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.1.1)\n",
      "Requirement already satisfied: scs>=1.1.6 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from cvxpy->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.2.3)\n",
      "Requirement already satisfied: setuptools>65.5.1 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from cvxpy->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (65.6.3)\n",
      "Requirement already satisfied: ecos>=2 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from cvxpy->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.0.12)\n",
      "Requirement already satisfied: osqp>=0.4.1 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from cvxpy->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.6.3)\n",
      "Requirement already satisfied: numba>=0.55.2 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from pyts->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.56.4)\n",
      "Requirement already satisfied: Mako in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from alembic!=1.10.0,<2->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.2.4)\n",
      "Requirement already satisfied: pyjwt>=1.7.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from databricks-cli<1,>=0.8.7->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.4.0)\n",
      "Requirement already satisfied: oauthlib>=3.1.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from databricks-cli<1,>=0.8.7->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.2.2)\n",
      "Requirement already satisfied: urllib3<2.0.0,>=1.26.7 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from databricks-cli<1,>=0.8.7->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (1.26.14)\n",
      "Requirement already satisfied: tabulate>=0.7.7 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from databricks-cli<1,>=0.8.7->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.8.10)\n",
      "Requirement already satisfied: pywin32>=304 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from docker<7,>=4.0.0->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (305.1)\n",
      "Requirement already satisfied: websocket-client>=0.32.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from docker<7,>=4.0.0->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.58.0)\n",
      "Requirement already satisfied: itsdangerous>=2.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from Flask<3->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.0.1)\n",
      "Requirement already satisfied: Werkzeug>=2.2.2 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from Flask<3->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.2.2)\n",
      "Requirement already satisfied: gitdb<5,>=4.0.1 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from gitpython<4,>=2.1.0->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (4.0.10)\n",
      "Requirement already satisfied: zipp>=0.5 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from importlib-metadata!=4.7.0,<7,>=3.7.0->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.11.0)\n",
      "Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from Jinja2<4,>=3.0->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.1.1)\n",
      "Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from numba>=0.55.2->pyts->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.39.1)\n",
      "Requirement already satisfied: qdldl in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from osqp>=0.4.1->cvxpy->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (0.1.7)\n",
      "Requirement already satisfied: charset-normalizer<3,>=2 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from requests<3,>=2.17.3->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.0.4)\n",
      "Requirement already satisfied: idna<4,>=2.5 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from requests<3,>=2.17.3->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (3.4)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from requests<3,>=2.17.3->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2022.12.7)\n",
      "Requirement already satisfied: greenlet!=0.4.17 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from sqlalchemy<3,>=1.4.0->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (2.0.1)\n",
      "Requirement already satisfied: smmap<6,>=3.0.1 in c:\\users\\drgo694\\onedrive - pnnl\\documents\\anaconda3\\lib\\site-packages (from gitdb<5,>=4.0.1->gitpython<4,>=2.1.0->mlflow==2.5.0->neuromancer[examples]@ git+https://github.com/pnnl/neuromancer.git@master) (5.0.0)\n",
      "Building wheels for collected packages: neuromancer\n",
      "  Building wheel for neuromancer (pyproject.toml): started\n",
      "  Building wheel for neuromancer (pyproject.toml): finished with status 'done'\n",
      "  Created wheel for neuromancer: filename=neuromancer-1.4.0-py3-none-any.whl size=161107 sha256=11f85fb1e7f84227c85b89fb42735b28e08e429b083ab651bcb7c1508b65f2f6\n",
      "  Stored in directory: C:\\Users\\drgo694\\AppData\\Local\\Temp\\pip-ephem-wheel-cache-uabqm7j5\\wheels\\88\\db\\69\\58e642f880e17cca6125cfc7a8bcc17b296381c19d2b6598d1\n",
      "Successfully built neuromancer\n",
      "Installing collected packages: farama-notifications, pygame, jax-jumpy, graphviz, colorama, gymnasium, mlflow, neuromancer\n",
      "  Attempting uninstall: colorama\n",
      "    Found existing installation: colorama 0.4.6\n",
      "    Uninstalling colorama-0.4.6:\n",
      "      Successfully uninstalled colorama-0.4.6\n",
      "  Attempting uninstall: mlflow\n",
      "    Found existing installation: mlflow 2.4.1\n",
      "    Uninstalling mlflow-2.4.1:\n",
      "      Successfully uninstalled mlflow-2.4.1\n",
      "  Attempting uninstall: neuromancer\n",
      "    Found existing installation: neuromancer 1.4.0\n",
      "    Uninstalling neuromancer-1.4.0:\n",
      "      Successfully uninstalled neuromancer-1.4.0\n",
      "Successfully installed colorama-0.4.5 farama-notifications-0.0.4 graphviz-0.20.1 gymnasium-0.28.1 jax-jumpy-1.0.0 mlflow-2.5.0 neuromancer-1.4.0 pygame-2.5.1\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  Running command git clone --filter=blob:none --quiet https://github.com/pnnl/neuromancer.git 'C:\\Users\\drgo694\\AppData\\Local\\Temp\\pip-install-grude3rc\\neuromancer_a948fdde05f447218e6f26c764267870'\n"
     ]
    }
   ],
   "source": [
    "!pip install neuromancer"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "62795a33",
   "metadata": {},
   "source": [
    "*Note: When running on Colab, one might encounter a pip dependency error with Lida 0.0.10. This can be ignored*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "1a9b6ec8",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "\n",
    "import neuromancer.psl as psl\n",
    "from neuromancer.system import Node, System\n",
    "from neuromancer.modules import blocks\n",
    "from neuromancer.modules.activations import activations\n",
    "from neuromancer.dataset import DictDataset\n",
    "from neuromancer.constraint import variable\n",
    "from neuromancer.loss import PenaltyLoss\n",
    "from neuromancer.problem import Problem\n",
    "from neuromancer.trainer import Trainer\n",
    "from neuromancer.dynamics import ode, integrators\n",
    "from neuromancer.plot import pltCL, pltPhase"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bfe1b7ed",
   "metadata": {},
   "source": [
    "## Ground truth system model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "cd824de1",
   "metadata": {},
   "outputs": [],
   "source": [
    "gt_model = psl.nonautonomous.VanDerPolControl()\n",
    "# sampling rate\n",
    "ts = gt_model.params[1]['ts']\n",
    "# problem dimensions\n",
    "nx = gt_model.nx    # number of states\n",
    "nu = gt_model.nu    # number of control inputs\n",
    "nref = nx           # number of references\n",
    "# constraints bounds\n",
    "umin = -5.\n",
    "umax = 5.\n",
    "xmin = -4.\n",
    "xmax = 4."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fa938158",
   "metadata": {},
   "source": [
    "## Training dataset generation\n",
    "\n",
    "For a training dataset we randomly sample points away from the origin of the 2D space the systemn operates in. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "b74ee8c4",
   "metadata": {},
   "outputs": [],
   "source": [
    "nsteps = 50  # prediction horizon\n",
    "n_samples = 2000    # number of sampled scenarios\n",
    "# Training dataset generation\n",
    "train_data = DictDataset({'x': torch.randn(n_samples, 1, nx),\n",
    "                          'r': torch.zeros(n_samples, nsteps+1, nx)}, name='train')\n",
    "# Development dataset generation\n",
    "dev_data = DictDataset({'x': torch.randn(n_samples, 1, nx),\n",
    "                        'r': torch.zeros(n_samples, nsteps+1, nx)}, name='dev')\n",
    "# torch dataloaders\n",
    "batch_size = 200\n",
    "train_loader = torch.utils.data.DataLoader(train_data, batch_size=batch_size,\n",
    "                                           collate_fn=train_data.collate_fn, shuffle=False)\n",
    "dev_loader = torch.utils.data.DataLoader(dev_data, batch_size=batch_size,\n",
    "                                         collate_fn=dev_data.collate_fn, shuffle=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0387d6a2",
   "metadata": {},
   "source": [
    "## System model and Control policy in Neuromancer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "149f7bc8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# white-box ODE model with no-plant model mismatch\n",
    "vdp_ode = ode.VanDerPolControl()\n",
    "vdp_ode.mu = nn.Parameter(torch.tensor(gt_model.mu), requires_grad=False)\n",
    "\n",
    "# integrate continuous time ODE\n",
    "integrator = integrators.RK4(vdp_ode, h=torch.tensor(ts))\n",
    "# symbolic system model\n",
    "model = Node(integrator, ['x', 'u'], ['x'], name='model')\n",
    "\n",
    "# neural net control policy\n",
    "net = blocks.MLP_bounds(insize=nx + nref, outsize=nu, hsizes=[32, 32],\n",
    "                    nonlin=activations['gelu'], min=umin, max=umax)\n",
    "policy = Node(net, ['x', 'r'], ['u'], name='policy')\n",
    "\n",
    "# closed-loop system model\n",
    "cl_system = System([policy, model], nsteps=nsteps)\n",
    "# cl_system.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "47b33d60",
   "metadata": {},
   "source": [
    "## Differentiable Predictive Control objectives and constraints"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "3eccb0de",
   "metadata": {},
   "outputs": [],
   "source": [
    "# state and reference variables\n",
    "x = variable('x')\n",
    "ref = variable(\"r\")\n",
    "# objectives\n",
    "regulation_loss = 100. * ((x == ref) ^ 2)  # target posistion\n",
    "# state bound constraints\n",
    "state_lower_bound_penalty = 10.0*(x > xmin)\n",
    "state_upper_bound_penalty = 10.0*(x < xmax)\n",
    "# state terminal penalties\n",
    "terminal_lower_bound_penalty = 20.0*(x[:, [-1], :] > ref-0.01)\n",
    "terminal_upper_bound_penalty = 20.0*(x[:, [-1], :] < ref+0.01)\n",
    "# objectives and constraints names for nicer plot\n",
    "regulation_loss.name = 'state_loss'\n",
    "state_lower_bound_penalty.name = 'x_min'\n",
    "state_upper_bound_penalty.name = 'x_max'\n",
    "terminal_lower_bound_penalty.name = 'y_N_min'\n",
    "terminal_upper_bound_penalty.name = 'y_N_max'\n",
    "# list of constraints and objectives\n",
    "objectives = [regulation_loss]\n",
    "constraints = [\n",
    "    state_lower_bound_penalty,\n",
    "    state_upper_bound_penalty,\n",
    "    terminal_lower_bound_penalty,\n",
    "    terminal_upper_bound_penalty,\n",
    "]\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c6d77bde",
   "metadata": {},
   "source": [
    "## Differentiable optimal control problem "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "7ab1f85c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# data (x_k, r_k) -> parameters (xi_k) -> policy (u_k) -> dynamics (x_k+1)\n",
    "components = [cl_system]\n",
    "# create constrained optimization loss\n",
    "loss = PenaltyLoss(objectives, constraints)\n",
    "# construct constrained optimization problem\n",
    "problem = Problem(components, loss)\n",
    "# plot computational graph\n",
    "# problem.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bb5ef578",
   "metadata": {},
   "source": [
    "## Solve the problem\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "9467aec0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch: 0  train_loss: 127.1220703125\n",
      "epoch: 1  train_loss: 103.3563461303711\n",
      "epoch: 2  train_loss: 84.54576110839844\n",
      "epoch: 3  train_loss: 72.6850814819336\n",
      "epoch: 4  train_loss: 66.56310272216797\n",
      "epoch: 5  train_loss: 63.51018142700195\n",
      "epoch: 6  train_loss: 61.84501266479492\n",
      "epoch: 7  train_loss: 60.85186004638672\n",
      "epoch: 8  train_loss: 60.2066535949707\n",
      "epoch: 9  train_loss: 59.754669189453125\n",
      "epoch: 10  train_loss: 59.42116165161133\n",
      "epoch: 11  train_loss: 59.16582489013672\n",
      "epoch: 12  train_loss: 58.9647102355957\n",
      "epoch: 13  train_loss: 58.8026237487793\n",
      "epoch: 14  train_loss: 58.669677734375\n",
      "epoch: 15  train_loss: 58.55915451049805\n",
      "epoch: 16  train_loss: 58.46611785888672\n",
      "epoch: 17  train_loss: 58.386985778808594\n",
      "epoch: 18  train_loss: 58.318992614746094\n",
      "epoch: 19  train_loss: 58.26008224487305\n",
      "epoch: 20  train_loss: 58.2086181640625\n",
      "epoch: 21  train_loss: 58.163360595703125\n",
      "epoch: 22  train_loss: 58.12334060668945\n",
      "epoch: 23  train_loss: 58.087738037109375\n",
      "epoch: 24  train_loss: 58.05588912963867\n",
      "epoch: 25  train_loss: 58.02724075317383\n",
      "epoch: 26  train_loss: 58.0013542175293\n",
      "epoch: 27  train_loss: 57.97783660888672\n",
      "epoch: 28  train_loss: 57.956398010253906\n",
      "epoch: 29  train_loss: 57.93674850463867\n",
      "epoch: 30  train_loss: 57.9187126159668\n",
      "epoch: 31  train_loss: 57.9020881652832\n",
      "epoch: 32  train_loss: 57.88669967651367\n",
      "epoch: 33  train_loss: 57.87241744995117\n",
      "epoch: 34  train_loss: 57.859130859375\n",
      "epoch: 35  train_loss: 57.846717834472656\n",
      "epoch: 36  train_loss: 57.83510208129883\n",
      "epoch: 37  train_loss: 57.824195861816406\n",
      "epoch: 38  train_loss: 57.813941955566406\n",
      "epoch: 39  train_loss: 57.80427932739258\n",
      "epoch: 40  train_loss: 57.795135498046875\n",
      "epoch: 41  train_loss: 57.786476135253906\n",
      "epoch: 42  train_loss: 57.77824783325195\n",
      "epoch: 43  train_loss: 57.770423889160156\n",
      "epoch: 44  train_loss: 57.762962341308594\n",
      "epoch: 45  train_loss: 57.755828857421875\n",
      "epoch: 46  train_loss: 57.74901580810547\n",
      "epoch: 47  train_loss: 57.742469787597656\n",
      "epoch: 48  train_loss: 57.736175537109375\n",
      "epoch: 49  train_loss: 57.73012161254883\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<All keys matched successfully>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "optimizer = torch.optim.AdamW(problem.parameters(), lr=0.002)\n",
    "#  Neuromancer trainer\n",
    "trainer = Trainer(\n",
    "    problem,\n",
    "    train_loader, dev_loader, dev_loader,\n",
    "    optimizer,\n",
    "    epochs=50,\n",
    "    train_metric='train_loss',\n",
    "    eval_metric='dev_loss',\n",
    "    warmup=50,\n",
    ")\n",
    "# Train control policy\n",
    "best_model = trainer.train()\n",
    "# load best trained model\n",
    "trainer.model.load_state_dict(best_model)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1c1360ed",
   "metadata": {},
   "source": [
    "# Evaluate best model on a system rollout \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "937b9143",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Test Closed Loop System \n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAB8UAAAY2CAYAAAA91X3+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXxcdb3/8deZLVubdKctFChtWQQqRbAg+1JAECyK14UroHJRryiICBcUBGQVBS+XHyqIgOAV70XlKqJSEJAd2WWH0tJSurdJmn2W8/tjJmkmmbRpmmQy6ev5eJzHzPmec77nM5P0NMl7vt8ThGEYIkmSJEmSJEmSJEnSMBQpdgGSJEmSJEmSJEmSJA0UQ3FJkiRJkiRJkiRJ0rBlKC5JkiRJkiRJkiRJGrYMxSVJkiRJkiRJkiRJw5ahuCRJkiRJkiRJkiRp2DIUlyRJkiRJkiRJkiQNW4bikiRJkiRJkiRJkqRhy1BckiRJkiRJkiRJkjRsGYpLkiRJkiRJkiRJkoYtQ3FJkiRJkiRJkiRJ0rBlKC5JkiRJUhE9+OCDfPrTn2bKlCmUlZUxZswY9t9/f6699lpaWlo2u/9TTjmFIAhYuHDh5hfbB7feeitBEHDrrbcW5fySJEmSJBmKS5IkSZJUBKlUii9/+csceuih/OlPf2KfffbhrLPO4jOf+QzLli3jrLPO4oMf/CBvv/12sUuVJEmSJKmkxYpdgCRJkiRJW6LzzjuPG2+8kb333pvf//73bL311h3b0uk0l1xyCZdccglHHXUUzz33HNXV1UWsVpIkSZKk0uVIcUmSJEmSBtmbb77JNddcw5gxY/jjH/+YF4gDRKNRLr74Yj73uc8xf/58fvjDH3ZsC4KAgw8+uGC/22+/Pdtvv33e+m233QbA1KlTCYKg2/Ht6++99x6f/exnGTduHJWVley3337cf//93c5x8MEHEwRBwfN3nar9lFNO4Qtf+AIAX/jCFzrO3/n4pUuXcsYZZzBjxgwqKioYNWoUu+yyC1/5yleoq6vr8T2UJEmSJKm3HCkuSZIkSdIgu+2228hkMpx22mlstdVWPe53wQUX8N///d/84he/4JJLLtnk85x55pnceuutvPjii5xxxhmMGjUKIC84B1i7di377bcf48eP59RTT2XlypX85je/4aijjuKuu+5i7ty5m3xugLlz51JbW8v//d//8fGPf5w99tgjb3tTUxP77bcfCxcu5IgjjuD444+nra2NBQsWcPvtt3P22WdTU1PTp3NLkiRJktTOUFySJEmSpEH2+OOPA3DYYYdtcL+dd96ZyZMns2TJEhYvXsyUKVM26TxnnnkmL7zwAi+++CJnnnlmtzC83UsvvcTnPvc57rjjjo5R3GeccQZ77703p512GkceeSQVFRWbdG7ID8Xnzp3LKaeckrf9gQceYMGCBZx55plce+21edsaGhqIx+ObfE5JkiRJkrpy+nRJkiRJkgbZsmXLAHoVcrfvs3Tp0gGrJxqNcvnll+dNaz5z5kw+//nPs3LlSu69994BOzdQMHAfMWIEZWVlA3peSZIkSdKWwVBckiRJkqQt3Lbbbst2223Xrf2AAw4A4Pnnnx+Q8x544IFMmjSJK6+8kmOOOYaf/OQnvPrqq4RhOCDnkyRJkiRtmQzFJUmSJEkaZBMnTgRg8eLFG923fZ9JkyYNWD093de8vb2urm5AzltTU8OTTz7JSSedxJNPPsm///u/s+uuu7Lddttxww03DMg5JUmSJElbHkNxSZIkSZIG2Uc+8hEge0/tDXn99dd5//332XrrrTumUQ+CgFQqVXD/vobXy5cv32B7TU1NR1skkv1TQqEa+nL+bbfdlltvvZWVK1fy/PPPc9VVV5HJZPja177Gr3/9603uT5IkSZKkrgzFJUmSJEkaZCeddBKRSISbbrqJlStX9rjfZZddBsAXv/jFjrbRo0ezZMmSbvsuXLiQ2trabu3RaBSAdDrd43kWLVrEu+++2639kUceAWDWrFl55we61ZDJZHjxxRf7dH7Ihu177LEH55xzTkcY/oc//GGDx0iSJEmS1BuG4pIkSZIkDbKddtqJM844g9WrV3PssceydOnSvO2ZTIbvf//73HHHHUybNo2zzz67Y9vee+/NwoULefjhhzva2traOOusswqea8yYMcCGp2pPp9Ocf/75effyfumll7j99tsZP348Rx99dN75AW699da8Pq655hoWLFiwSed/5ZVXCo5Sb28rLy/vsWZJkiRJknorCDv/xitJkiRJkgZFKpXiy1/+Mr/4xS+oqqrimGOOYdq0adTX13Pffffx1ltvMWPGDO69916mT5/ecdx9993HUUcdRUVFBZ/97GeprKxk3rx5jBo1infffZdEIsHChQs7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pvDmm2+y4447AjBjxgx+8IMfdOxz6aWX9uq4mTNn8r3vfa+jj+uvv54HHniAOXPmcP/99/P000/z2muvdey/ww47dPR3xRVXcOKJJ3LmmWd2HH/ddddx0EEH8ZOf/ITy8vL+fnsBQ3FJkiRJkiRJkiRJKppDDjmEn/zkJzQ2NnLttdcSi8X45Cc/ySuvvEJTUxNz5szJ27+trY1Zs2b12N+LL77Igw8+yIgRI7ptmz9/fkdY/aEPfahPx82cOTNv26RJk1ixYgUAL7zwAttss03HvoVqe+mll/jVr37V0RaGIZlMhgULFrDLLrv0+Lo2h6G4JEmSJEmSJEmSJBVJVVUV06dPB7Ijsz/4wQ9y8803s9tuuwHwpz/9ia233jrvmLKysh77a2ho4Nhjj+Wqq67qtm3SpEl55+3LcfF4PG9bEARkMhkAKioqeqyr/Rxf/vKX+cY3vtFt27bbbrvBYzeHobgkSZIkSZIkSZKkYam/7wFeU1PTr/11FYlEOP/88znrrLN48803KSsrY9GiRRx00EG97mPPPffkt7/9Ldtvvz2xWO/j4L4e19nMmTN577338qZb73qOV199teNDAIPFUFySJEmSJEmSJEnSsPSlL32p2CVssk996lN8+9vf5mc/+xlnn3023/zmN8lkMuy///7U1dXx2GOPUV1dzcknn1zw+K997WvcdNNNfPazn+Wcc85hzJgxvP3229x55538/Oc/JxqN9utxnR100EEceOCBfPKTn+Saa65h+vTpvP766wRBwFFHHcW5557LPvvsw+mnn86pp55KVVUVr776KvPmzeP666/frPdtQwzFJUmSJEmSJEmSJGmIiMVinH766fzgBz9gwYIFjB8/niuuuIJ33nmHUaNGseeee3L++ef3ePzkyZN57LHHOPfcczniiCNobW1lu+2246ijjiISifT7cV399re/5eyzz+azn/0sjY2NTJ8+nSuvvBLIjiR/+OGH+c53vsMBBxxAGIZMmzaNT3/6071/g/ogCMMwHNAzbGHq6+upqamhrq6O6urqYpczbCSTSe69916OPvrobvcpkCT1nddXSRo4XmMlaeB4jZWkgeH1VVKpamlpYcGCBUydOpXy8vJil1NQJpOhvr6e6urqTQqYteGvb2+zWd9xSZIkSZIkSZIkSdKwZSguSZIkSZIkSZIkSRq2DMUlSZIkSZIkSZIkScOWobgkSZIkSZIkSZIkadgyFJckSZIkSZIkSZIkDVuxYhcgbdCvLoBXfkmMFMeGSYLnp8JFTxW7KkmSJEmSJEmSJEklwlBcQ1vjakjUEgABECZri1yQJEmSJEmSJEmSpFLi9Oka2uLlXRpSRSlDkiRJkiRJkiRJUmkyFNfQFq/IXw8NxSVJkiRJkiRJkiT1nqG4hrayqi4NhuKSJEmSJEmSJEmSes9QXENborJLQ7ooZUiSJEmSJEmSJEkDYfHixXzxi19k8uTJJBIJtttuO8444wxWr17d6z4WLlxIEAS88MILA1JjEATcfffdA9L3YDAU19BW1iUUDwzFJUmSJEmSJEmSNDy888477LXXXrz11lv8+te/5u233+anP/0pDzzwAPvuuy9r1qwpdonDQqzYBUgb1HX6dENxSZIkSZIkSZIkbcAf/vAHVq5cWdQaxo8fz3HHHbfR/b72ta+RSCS47777qKioAGDbbbdl1qxZTJs2je985zv85Cc/IQgCfv/73zN37tyOY0eNGsWPf/xjTjnlFKZOnQrArFmzADjooIN46KGHOOWUU6itrWXWrFlcf/31tLa28rnPfY7rrruORCIBwPbbb8+ZZ57JmWee2dH3Hnvswdy5c7nooovYfvvtATj++OMB2G677Vi4cOFmvkODy1BcQ1t5l1A8kilOHZIkSZIkSZIkSSoJK1eu5L333it2GRu1Zs0a/vrXv3LZZZd1BOLtJk6cyIknnshvfvMbbrjhho329fTTT/PhD3+Y+++/n1133bUj8AZ44IEHKC8v56GHHmLhwoV84QtfYOzYsVx22WW9qvMf//gHEyZM4JZbbuGoo44iGo1u2gsdApw+XUNbl5HiQSSEdKpIxUiSJEmSJEmSJEn946233iIMQ3bZZZeC23fZZRfWrl3bq1Hv48ePB2Ds2LFMnDiRMWPGdGxLJBL84he/YNddd+WYY47hkksu4brrriOT6d1g1Pa+R40axcSJEzvWS4mhuIa2ihHd25obBr8OSZIkSZIkSZIkaQCEYTig/X/wgx+ksrKyY33fffeloaGBxYsXD+h5hxJDcQ1tFdXd25rXDX4dkiRJkiRJkiRJUj+aPn06QRDw2muvFdz+2muvMXr0aMaPH08QBN3C82Qy2S91RCKRAet7qPCe4hraHCkuSZIkSZIkSZKkTTAUpvfuTQ1jx45lzpw53HDDDXzzm9/Mu6/4smXL+NWvfsVJJ51EEASMHz+epUuXdmx/6623aGpq6lhvv4d4Op3udp4XX3yR5ubmjv6ffPJJRowYwZQpUzpq7dx3fX09CxYsyOsjHo8X7LtUGIpraKsc2b2tqX7w65AkSZIkSZIkSVJJOO6444pdQq9df/31fOQjH+HII4/k0ksvZerUqbzyyit8+9vfZuutt+ayyy4D4NBDD+X6669n3333JZ1Oc+655xKPxzv6mTBhAhUVFfzlL39hm222oby8nJqaGgDa2tr40pe+xHe/+10WLlzI9773PU4//XQikUhH37feeivHHnsso0aN4sILLyQajebVuf322/PAAw+w3377UVZWxujRowfpHeofTp+uoa2ywPTpLY4UlyRJkiRJkiRJUumbMWMGzzzzDDvssAP/8i//wrRp0zjttNM45JBDeOKJJxgzZgwAP/rRj5gyZQoHHHAAn/vc5zj77LPz7hMei8W47rrr+NnPfsbkyZP5+Mc/3rHtsMMOY8aMGRx44IF8+tOf5rjjjuOiiy7q2H7eeedx0EEH8bGPfYxjjjmGuXPnMm3atLw6f/SjHzFv3jymTJnCrFmzBvZNGQCOFNfQFo1BJoBIp/sYtDQWrx5JkiRJkiRJkiSpH2233XbceuutG9xn8uTJ/PWvf81rq62tzVs/9dRTOfXUUwsef/HFF3PxxRcX3FZdXc2dd96Z13byySfnrR977LEce+yxG6xxKHOkuIa+TJdvU0NxSZIkSZIkSZIkSb1kKK6hL+waijt9uiRJkiRJkiRJkqTecfp0lYAYkFy/2uZIcUmSJEmSJEmSJGljNjYt+5bCkeIa+sJo/nprc3HqkCRJkiRJkiRJklRyhlUo3trayrnnnsvkyZOpqKhg9uzZzJs3b5P7mTNnDkEQcPrppw9Aldp0XULxtqbilCFJkiRJkiRJkiSp5AyrUPyUU07hmmuu4cQTT+Q///M/iUajHH300Tz66KO97uN3v/sdTzzxxABWqU0WdJnlP+lIcUmSJEmSJEmSJOXLZDLFLkEDoD++rsPmnuJPP/00d955J1dffTVnn302ACeddBK77bYb55xzDo8//vhG+2hpaeFb3/oW5557LhdeeOFAl6zeCuL564bikiRJkiRJkiRJykkkEkQiEd5//33Gjx9PIpEgCIJil5Unk8nQ1tZGS0sLkciwGrc8YMIwpK2tjZUrVxKJREgkEn3ua9iE4nfddRfRaJTTTjuto628vJwvfelLnH/++SxevJgpU6ZssI8f/OAHZDIZzj77bEPxoaRbKN5SnDokSZIkSZIkSZI05EQiEaZOncrSpUt5//33i11OQWEY0tzcTEVFxZAL7Ie6yspKtt122836MMGwCcWff/55dtxxR6qrq/PaP/zhDwPwwgsvbDAUX7RoEVdeeSW/+MUvqKioGNBatYkijhSXJEmSJEmSJElSzxKJBNtuuy2pVIp0Ol3scrpJJpP8/e9/58ADDyQej2/8AAEQjUaJxWKb/UGCYROKL126lEmTJnVrb2/b2KdCvvWtbzFr1iw+85nPbNJ5W1tbaW1t7Vivr68Hst/YyWRyk/pSYbEgQedv80yymbTvrST1i/b/q/w/S5L6n9dYSRo4XmMlaWB4fZU0XESj0WKX0E0mkyGVShGNRodkfUNZKpXqcVtv/88aNqF4c3MzZWVl3drLy8s7tvfkwQcf5Le//S1PPfXUJp/3iiuu4OKLL+7Wft9991FZWbnJ/am7w5qTjOg0eL9uzQr+fu+9xStIkoahefPmFbsESRq2vMZK0sDxGitJA8PrqyQNHK+x/aupqalX+w2bULyioiJvxHa7lpaWju2FpFIpvvGNb/D5z3+evffee5PPe95553HWWWd1rNfX1zNlyhSOOOKIblO5q2+iL18HnT7kUVNVztFHH128giRpGEkmk8ybN485c+Y4ZY8k9TOvsZI0cLzGStLA8PoqSQPHa+zAaJ/Fe2OGTSg+adIklixZ0q196dKlAEyePLngcb/85S954403+NnPfsbChQvztq1bt46FCxcyYcKEHkd9l5WVFRyhHo/H/YbuL7GyvFA8kmkj4nsrSf3K/7ckaeB4jZWkgeM1VpIGhtdXSRo4XmP7V2/fy8gA1zFo9thjD958881unwZonxJ9jz32KHjcokWLSCaT7LfffkydOrVjgWxgPnXqVO67774BrV0bESvPX8+0FacOSZIkSZIkSZIkSSVn2IwUP+GEE/jhD3/IjTfeyNlnnw1Aa2srt9xyC7Nnz2bKlClANgRvampi5513BuAzn/lMwcD8+OOP5+ijj+bf/u3fmD179qC9DhXQLRRPFt5PkiRJkiRJkiRJkroYNqH47Nmz+dSnPsV5553HihUrmD59OrfddhsLFy7k5ptv7tjvpJNO4uGHHyYMQwB23nnnjoC8q6lTpzJ37tzBKF8bEusyPb0jxSVJkiRJkiRJkiT10rAJxSE73fkFF1zA7bffztq1a5k5cyb33HMPBx54YLFL0+ZIdLmfe+hIcUmSJEmSJEmSJEm9M6xC8fLycq6++mquvvrqHvd56KGHetVX+0hyDQHxivz1MFWcOiRJkiRJkiRJkiSVnEixC5A2qlso7khxSZIkSZIkSZIkSb1jKK6hL9ElFCddlDIkSZIkSZIkSZIklR5DcQ19ZV3uKR4YikuSJEmSJEmSJEnqHUNxDX2Jqi4NhuKSJEmSJEmSJEmSesdQXEOfI8UlSZIkSZIkSZIk9ZGhuIa+8i4jxSOZ4tQhSZIkSZIkSZIkqeQYimvoqxiZvx4JIZ0qTi2SJEmSJEmSJEmSSoqhuIa+8hHd25obBr8OSZIkSZIkSZIkSSXHUFxDX6FQvLFu8OuQJEmSJEmSJEmSVHIMxTX0VVV3b3OkuCRJkiRJkiRJkqReMBTX0Nf1nuIALYbikiRJkiRJkiRJkjbOUFxDX0WB6dOb6ge/DkmSJEmSJEmSJEklx1BcQ180RpgJ8ttaG4tTiyRJkiRJkiRJkqSSYiiu0pDp8q3aYiguSZIkSZIkSZIkaeMMxVUawmj+emtTceqQJEmSJEmSJEmSVFIMxVUiuobijhSXJEmSJEmSJEmStHGG4ioNXUeKtzlSXJIkSZIkSZIkSdLGGYqrRMTyV9uai1OGJEmSJEmSJEmSpJJiKK7SEHQNxZ0+XZIkSZIkSZIkSdLGGYqrRHQJxZMtxSlDkiRJkiRJkiRJUkkxFFdpiMTz15NOny5JkiRJkiRJkiRp4wzFVRoCQ3FJkiRJkiRJkiRJm85QXKUhkshfT7UWpw5JkiRJkiRJkiRJJcVQXKUhWp6/nnKkuCRJkiRJkiRJkqSNMxRXSQijZfkNqZbiFCJJkiRJkiRJkiSppBiKqzTEK/LX006fLkmSJEmSJEmSJGnjDMVVGmJdRopnDMUlSZIkSZIkSZIkbZyhuEpDvDJ/PdNWnDokSZIkSZIkSZIklRRDcZWGRJdQPEwWpw5JkiRJkiRJkiRJJcVQXCUh7DpSPHSkuCRJkiRJkiRJkqSNMxRXaSiryl8PU8WpQ5IkSZIkSZIkSVJJMRRXaeg6fTqG4pIkSZIkSZIkSZI2zlBcpaF8RP56YCguSZIkSZIkSZIkaeMMxVUSworq/IYgXZxCJEmSJEmSJEmSJJUUQ3GVhLDrSPFIpjiFSJIkSZIkSZIkSSophuIqDRUj89cjISRbi1OLJEmSJEmSJEmSpJJhKK7S0HX6dICGusGvQ5IkSZIkSZIkSVJJMRRXaagqEIo3rh38OiRJkiRJkiRJkiSVFENxlYbKmu5tTesGvw5JkiRJkiRJkiRJJcVQXKWhssBI8SanT5ckSZIkSZIkSZK0YYbiKg3xBGEmyG9rqi9OLZIkSZIkSZIkSZJKhqG4Skemy7drS0Nx6pAkSZIkSZIkSZJUMgzFVToy0fz1ZkeKS5IkSZIkSZIkSdowQ3GVjDDsEoq3NhWnEEmSJEmSJEmSJEklw1BcJaNbKO706ZIkSZIkSZIkSZI2wlBcJSMMY/kNbY3FKUSSJEmSJEmSJElSyTAUV8nI0GWkeJvTp0uSJEmSJEmSJEnaMENxlYxMt5HihuKSJEmSJEmSJEmSNsxQXCUjDOL5Dcnm4hQiSZIkSZIkSZIkqWQYiqtkZOgSiqcMxSVJkiRJkiRJkiRtmKG4SkYm6DJ9eqqlOIVIkiRJkiRJkiRJKhmG4ioZ6SCR32AoLkmSJEmSJEmSJGkjDMVVMtKRLqF4prU4hUiSJEmSJEmSJEkqGYbiKhndRoqnDcUlSZIkSZIkSZIkbZihuEpGOlqW3xC2FacQSZIkSZIkSZIkSSXDUFwlIx2J5zdkksUpRJIkSZIkSZIkSVLJMBRXyUhFy/MbQkNxSZIkSZIkSZIkSRtmKK6Skeo6fTqG4pIkSZIkSZIkSZI2zFBcJaNbKB6ki1OIJEmSJEmSJEmSpJJhKK6SkYpVdG0pSh2SJEmSJEmSJEmSSoehuEpGsutI8YgjxSVJkiRJkiRJkiRtmKG4SkYyXpnfEMlAJlOcYiRJkiRJkiRJkiSVBENxlYxUvDy/IQBaGotSiyRJkiRJkiRJkqTSYCiuktEW73pPcaCpfvALkSRJkiRJkiRJklQyDMVVMpKJqu6NDbWDXockSZIkSZIkSZKk0mEorpJRcKR4syPFJUmSJEmSJEmSJPXMUFwlIxUr797o9OmSJEmSJEmSJEmSNsBQXKUjEiFMd/mWNRSXJEmSJEmSJEmStAGG4iotmWj+emNtUcqQJEmSJEmSJEmSVBoMxVVawlj+elNtUcqQJEmSJEmSJEmSVBoMxVViEvmrzU6fLkmSJEmSJEmSJKlnhuIqLUGXULxlXXHqkCRJkiRJkiRJklQSDMVVWrqG4q2G4pIkSZIkSZIkSZJ6Ziiu0hItz19vbShOHZIkSZIkSZIkSZJKgqG4Sku0In892VicOiRJkiRJkiRJkiSVBENxlZQwZiguSZIkSZIkSZIkqfcMxVVa4lX566nm4tQhSZIkSZIkSZIkqSQYiqu0JLqE4umW4tQhSZIkSZIkSZIkqSQYiqu0JEbkr2cMxSVJkiRJkiRJkiT1zFBcJSUs6xKKh63FKUSSJEmSJEmSJElSSTAUV2kpr85fD5PFqUOSJEmSJEmSJElSSTAUV2mpHJW/HhiKS5IkSZIkSZIkSeqZobhKSljZZaR4kCpOIZIkSZIkSZIkSZJKgqG4SkpYNTq/IZKGTKY4xUiSJEmSJEmSJEka8gzFVVpGjslfj4TQ0licWiRJkiRJkiRJkiQNeYbiKi1dR4oD1K8e/DokSZIkSZIkSZIklQRDcZWW6rHd2+pXDX4dkiRJkiRJkiRJkkqCobhKS9fp0wEa1g5+HZIkSZIkSZIkSZJKgqG4Sks0Buku37aNhuKSJEmSJEmSJEmSCjMUV+nJxPLXG2uLUoYkSZIkSZIkSZKkoc9QXKUn7BqKO1JckiRJkiRJkiRJUmGG4ipBifzV5vrilCFJkiRJkiRJkiRpyDMUV+kJuoTiLeuKU4ckSZIkSZIkSZKkIc9QXKUnUpa/3mooLkmSJEmSJEmSJKkwQ3GVnmh5/nprQ3HqkCRJkiRJkiRJkjTkGYqr9EQr8teTjcWpQ5IkSZIkSZIkSdKQZyiu0hOrzF9PNhWnDkmSJEmSJEmSJElDnqG4Sk+8Syiebi5OHZIkSZIkSZIkSZKGPENxlZ6yEfnr6Zbi1CFJkiRJkiRJkiRpyDMUV+kpG5m/njEUlyRJkiRJkiRJklSYobhKT3mXUDxsK04dkiRJkiRJkiRJkoY8Q3GVnvLq/HVDcUmSJEmSJEmSJEk9MBRX6akalb8eJItShiRJkiRJkiRJkqShz1BcpaeyJn89kipOHZIkSZIkSZIkSZKGPENxlZ6arfLXo2lIthanFkmSJEmSJEmSJElDmqG4Ss+Yyd3bVr8/+HVIkiRJkiRJkiRJGvIMxVV6xm3dvW3Ve4NfhyRJkiRJkiRJkqQhz1BcpWfEKEh3+dZdu6wopUiSJEmSJEmSJEka2gzFVZoy8fz1OkNxSZIkSZIkSZIkSd0Ziqs0hWX56/WrilOHJEmSJEmSJEmSpCHNUFylKajIX280FJckSZIkSZIkSZLUnaG4SlO0Mn+9aW1x6pAkSZIkSZIkSZI0pBmKqzTFR+avt9QWpQxJkiRJkiRJkiRJQ5uhuEpTojp/vbW+OHVIkiRJkiRJkiRJGtIMxVWaKkbnr6fWFacOSZIkSZIkSZIkSUOaobhKU2WXUDzdVJw6JEmSJEmSJEmSJA1phuIqTSPG5a+HzcWpQ5IkSZIkSZIkSdKQZiiu0jSySygetBanDkmSJEmSJEmSJElDmqG4StOoSfnr0SRkMsWpRZIkSZIkSZIkSdKQZSiu0jR6Yv56JITG2qKUIkmSJEmSJEmSJGnoMhRXaRq7dfe2VUsGvw5JkiRJkiRJkiRJQ5qhuErTmEkQdmlb835RSpEkSZIkSZIkSZI0dBmKqzTFE5CO5bfVLitOLZIkSZIkSZIkSZKGLENxla5MIn+9bkVx6pAkSZIkSZIkSZI0ZBmKq4SV5a82rCpOGZIkSZIkSZIkSZKGLENxla5oZf564+ri1CFJkiRJkiRJkiRpyDIUV+mKjshfb15bnDokSZIkSZIkSZIkDVmG4ipdiZH56y21RSlDkiRJkiRJkiRJ0tBlKK7SVVaTv95WX5w6JEmSJEmSJEmSJA1ZhuIqXSMm5K8na4tShiRJkiRJkiRJkqShy1BcpWvs9vnr4bqilCFJkiRJkiRJkiRp6DIUV+naalr+eqwFMpni1CJJkiRJkiRJkiRpSDIUV+naZqf89UgIyxYUpxZJkiRJkiRJkiRJQ5KhuErXNjtB2KXtvdeLUookSZIkSZIkSZKkoclQXKUrXgapRH7bsreKU4skSZIkSZIkSZKkIclQXCVuRP7qqneLU4YkSZIkSZIkSZKkIclQXKUtWpO/XrekOHVIkiRJkiRJkiRJGpIMxVXaysflrzcuL04dkiRJkiRJkiRJkoYkQ3GVthET89dbVxenDkmSJEmSJEmSJElDkqG4StvoKfnr6fri1CFJkiRJkiRJkiRpSBpWoXhrayvnnnsukydPpqKigtmzZzNv3ryNHve73/2OT3/60+ywww5UVlay00478a1vfYva2tqBL1qbZ/zU/PVIY3HqkCRJkiRJkiRJkjQkDatQ/JRTTuGaa67hxBNP5D//8z+JRqMcffTRPProoxs87rTTTuO1117jX//1X7nuuus46qijuP7669l3331pbm4epOrVJ5Nm5K/HUtBQW5RSJEmSJEmSJEmSJA09sWIX0F+efvpp7rzzTq6++mrOPvtsAE466SR22203zjnnHB5//PEej73rrrs4+OCD89o+9KEPcfLJJ/OrX/2KU089dSBL1+bYdtfubYtehQ98ZPBrkSRJkiRJkiRJkjTkDJuR4nfddRfRaJTTTjuto628vJwvfelLPPHEEyxevLjHY7sG4gDHH388AK+99lq/16p+NHoCpKP5be+/WZxaJEmSJEmSJEmSJA05wyYUf/7559lxxx2prq7Oa//whz8MwAsvvLBJ/S1btgyAcePG9Ut9GkDpivz15fOLU4ckSZIkSZIkSZKkIWfYTJ++dOlSJk2a1K29ve3999/fpP6uuuoqotEoJ5xwwgb3a21tpbW1tWO9vr4egGQySTKZ3KRzqmft72Wh9zQWGU1AQ8d6ZtmrpH3vJalXNnR9lSRtHq+xkjRwvMZK0sDw+ipJA8dr7MDo7fs5bELx5uZmysrKurWXl5d3bO+t//7v/+bmm2/mnHPOYcaMGRvc94orruDiiy/u1n7fffdRWVnZ63Oqd+bNm9et7cDMKEazfnr81hWvcd+99w5mWZJU8gpdXyVJ/cNrrCQNHK+xkjQwvL5K0sDxGtu/mpqaerXfsAnFKyoq8kZst2tpaenY3huPPPIIX/rSlzjyyCO57LLLNrr/eeedx1lnndWxXl9fz5QpUzjiiCO6TeWuvksmk8ybN485c+YQj8fztkXWPgoL/9mxXh6t5eijjx7sEiWpJG3o+ipJ2jxeYyVp4HiNlaSB4fVVkgaO19iB0T6L98YMm1B80qRJLFmypFv70qVLAZg8efJG+3jxxRc57rjj2G233bjrrruIxTb+9pSVlRUcoR6Px/2GHgAF39fps2HhjR2rQbyReLIZKv1QgiT1lv9vSdLA8RorSQPHa6wkDQyvr5I0cLzG9q/evpeRAa5j0Oyxxx68+eab3T4N8NRTT3Vs35D58+dz1FFHMWHCBO69915GjBgxUKWqv+1+cP56ALz8SDEqkSRJkiRJkiRJkjTEDJtQ/IQTTiCdTnPjjetHDLe2tnLLLbcwe/ZspkyZAsCiRYt4/fXX845dtmwZRxxxBJFIhL/+9a+MHz9+UGvXZqoZB21dpsd/68ni1CJJkiRJkiRJkiRpSBk206fPnj2bT33qU5x33nmsWLGC6dOnc9ttt7Fw4UJuvvnmjv1OOukkHn74YcIw7Gg76qijeOeddzjnnHN49NFHefTRRzu2bbXVVsyZM2dQX4v6IDoBeHf9+tKXi1aKJEmSJEmSJEmSpKFj2ITiAL/85S+54IILuP3221m7di0zZ87knnvu4cADD9zgcS+++CIAP/jBD7ptO+iggwzFS0H1VGjsFIrXv1O8WiRJkiRJkiRJkiQNGcMqFC8vL+fqq6/m6quv7nGfhx56qFtb51HjKlGTdoW3H1q/nlpRtFIkSZIkSZIkSZIkDR3D5p7i2sJN3yd/PdEEdauKU4skSZIkSZIkSZKkIcNQXMPDbgdCJshve+TXxalFkiRJkiRJkiRJ0pBhKK7hYcQoSI/Lb3vlz0UpRZIkSZIkSZIkSdLQYSiu4WP8Xvnrdf8sTh2SJEmSJEmSJEmShgxDcQ0fe3w8fz1RD4teK04tkiRJkiRJkiRJkoYEQ3ENH/t9AlLR/La/31GcWiRJkiRJkiRJkiQNCYbiGj7iZRDZNr/tnQeLU4skSZIkSZIkSZKkIcFQXMPLlP3y15OvwdoVxalFkiRJkiRJkiRJUtEZimt4OfzLEHZaj2bgt5cWrRxJkiRJkiRJkiRJxWUoruFl6kxgh/y2d34PmUxRypEkSZIkSZIkSZJUXIbiGn72+XL+eqIe7r+1KKVIkiRJkiRJkiRJKi5DcQ0/R5wKbVX5bQ9/H5JtxalHkiRJkiRJkiRJUtEYimv4icZg6vH5bfE18MtvF6ceSZIkSZIkSZIkSUVjKK7h6fM/gLaR+W0L7oA3/lGceiRJkiRJkiRJkiQVhaG4hqfyKjjoovy2WApu+yTUrSpKSZIkSZIkSZIkSZIGn6G4hq8jT4Vgl/y2RB388FBoWlecmiRJkiRJkiRJkiQNKkNxDW9fv7v7NOrRd+GK/aChthgVSZIkSZIkSZIkSRpEhuIa3sZMhBN/A6lYfnv0XbhiFix4qTh1SZIkSZIkSZIkSRoUhuIa/nbdDw67DtJdvt3ja+Dnh8GDvypOXZIkSZIkSZIkSZIGnKG4tgyHnAhzfgKpaH57vA0e/Brc+O+QyRSnNkmSJEmSJEmSJEkDxlBcW44DPwMn/C+0VeW3R0J4/1dw4e6w4J/FqU2SJEmSJEmSJEnSgDAU15Zlj8Pgm09Bekr3bbH34OaD4c6LB70sSZIkSZIkSZIkSQPDUFxbnvFT4MLnoOrg7ttiKXj9Grh4Nix/d9BLkyRJkiRJkiRJktS/DMW1ZYon4Nv/B7OvgmRZ9+3h63DdXnDXlYNfmyRJkiRJkiRJkqR+YyiuLdtHvwLf+AcEO3ffFm+Dl6+A7+0Ji14b/NokSZIkSZIkSZIkbTZDcWmr7eB7T8HOZ0Eq1n17MB9u3A9uPRsymcGvT5IkSZIkSZIkSVKfGYpL7T7zPfjSQ5Detvu2WBoW3gQXfgBefXywK5MkSZIkSZIkSZLUR4biUmdTd4eLX4Qdz4RUvPv22FK482i4/mRoaRz08iRJkiRJkiRJkiRtGkNxqatIBD53MZz+D4jsWmB7CKvuhkt2gvtvHezqJEmSJEmSJEmSJG0CQ3GpJxOnwoWPw16XQrK8+/bEOnj0DLhkP1jy1uDXJ0mSJEmSJEmSJGmjDMWljfnY1+Hsf0L5vhAW2J55GX6yD9x8JqRTg12dJEmSJEmSJEmSpA0wFJd6Y/QE+I+/wJyboW109+2xFCy+BS7cEZ7+0+DXJ0mSJEmSJEmSJKkgQ3FpU+x/Alz8Jkw+EVLR7tvjq+FPn4MrPwqr3x/8+iRJkiRJkiRJkiTlMRSXNlU8AafdAKc9BsHO3bcHQMvjcM1M+OW5TqkuSZIkSZIkSZIkFZGhuNRX2+4C33sK9rka2qq6b48n4Z2fZqdUf+R/B78+SZIkSZIkSZIkSYbi0mY76jT47usw+hjIBN23x1fDA6fC9w+AxW8Mfn2SJEmSJEmSJEnSFsxQXOoPldVwxn/DZ/8Mme0L75N+CW7cF35yKrQ0Dmp5kiRJkiRJkiRJ0pbKUFzqT7vsC5e8CHtdWnhK9Wgalv8vXLIj3PNfg1+fJEmSJEmSJEmStIUxFJcGwse+Dhe+BRNOgHS0+/ZEAzzzXfjurvDsXwe/PkmSJEmSJEmSJGkLYSguDZTyKvj3m+G0JyA6s/A+sffgD/8Clx7s/cYlSZIkSZIkSZKkAWAoLg20KTvBBY/AYT+H5Jju2wMg9TzcuA9cdyKsWzPoJUqSJEmSJEmSJEnDlaG4NFgO+BRc8hbs8FVIJrpvj2ZgzT1w5c5wx/mQTg1+jZIkSZIkSZIkSdIwYyguDaZoDE66Es55DUZ9FNIF/gnGW+Ht/wcXTIe/3DT4NUqSJEmSJEmSJEnDiKG4VAw14+DMO+FLj0L0gxAW2CexFp48Gy74ADz5h0EvUZIkSZIkSZIkSRoODMWlYtp+V7jg73DMf0NqcuF9okvgL5+Hiz4Mrz4+uPVJkiRJkiRJkiRJJc5QXBoKPnwMXPIK7HkxtI3sYac34M6j4fLDYNFrg1qeJEmSJEmSJEmSVKoMxaWhIhKB486Ei+fDtl+EZKLAPiG0PQM3fQR+9AlY/f6glylJkiRJkiRJkiSVEkNxaaiJl8EXr4X/eAPGzYVUtPs+0QysewCu3R3+6/NQt2rQy5QkSZIkSZIkSZJKgaG4NFSNHAOn3wZffx6qDoZM0H2fWApW/wGu3hn+3xcMxyVJkiRJkiRJkqQuDMWloW6r7eDb/wdf+DvEZkFYYJ9YElb+Dn6wM/zk36ChdrCrlCRJkiRJkiRJkoYkQ3GpVEydCd99CD75fxBOK7xPPAnL/weumAE3fQ2a6ge1REmSJEmSJEmSJGmoMRSXSs3Mg+Hi5+Co2yGzfeF94m2w5A64bAbcfAa0NA5mhZIkSZIkSZIkSdKQYSgulap9joNLXoQ5t0B628L7xFtg8a3w/R3g599w5LgkSZIkSZIkSZK2OIbiUqnb7xPw/X/CoT+D9NaF94m3wHu3wWXT4CenQt2qwa1RkiRJkiRJkiRJKhJDcWm4OPAz8P1X4cDrITWp8D7xNlj+v3D1TnDdibBqyeDWKEmSJEmSJEmSJA0yQ3FpuDn083Dp6/CRayE5ofA+sRSsuQd+vDv88Hh4f/7g1ihJkiRJkiRJkiQNEkNxabg64ovw/Tey4XhqcuF9Ymlo+Bv8ZC+48qOw4KXBrVGSJEmSJEmSJEkaYIbi0nAWiWTD8Utfg8Nugsz2hfeLZqDlcbjlQLj0IHjxwUEtU5IkSZIkSZIkSRoohuLSluKAf4FLXoRjfg3sCGGBfSIhpF6A38+FCz8ID9wGmczg1ilJkiRJkiRJkiT1I0NxaUuz99Fw0T/ghD9AdCZkgsL7RRbCI9+AC6bD/1wGybZBLVOSJEmSJEmSJEnqD4bi0pZq94PggkfgX++HxF49h+Px1fDqD+B728JNX4O6VYNbpyRJkiRJkiRJkrQZDMWlLd2Oe8H5D8C/PQXVh0MqVni/RDMsuQOu3gmuOQHee2Nw65QkSZIkSZIkSZL6wFBcUtaUneCs38K334DJJ0JbReH9Yimonwc3zoZL9ocn/zC4dUqSJEmSJEmSJEmbwFBcUr6acXDaDXDxu7DL2ZAcU3i/SAiZf8JfPg/fmZG773jr4NYqSZIkSZIkSZIkbYShuKTC4mXw6Qvg+/Nh//+E9HYb2HdF9r7jF20L//V5WLZg8OqUJEmSJEmSJEmSNsBQXNKGRSJw+Cnw/Zdg7u8g+kHIBIX3jbfA6j/ADbPg0oPgmT8PaqmSJEmSJEmSJElSV4biknpvj8Pggr/DV56FMcdCsqzwfpEQUi/APZ+B7+4Ev/k+tDQOaqmSJEmSJEmSJEkSGIpL6ovJ0+Abd8CF78LOZ0FyfM/7xpbBaz+E728PP/oEvPnMoJUpSZIkSZIkSZIkGYpL6ruyCvjM9+Cyt2HOLRDZdQNTq7fBugfgV4fBBTPh/34MybZBLVeSJEmSJEmSJElbHkNxSf1jv0/AhY/Dvz0Foz4KyUTh/QIg+i48/z24aApcdyIsem1QS5UkSZIkSZIkSdKWw1BcUv+ashOceSd85x3Y8UxIbtXzvvEWWHMP/HxfuGgvuPcnkE4NWqmSJEmSJEmSJEka/gzFJQ2MypHwuYvhsjfhuLugbDakooX3jYTAW/D0f8CFW8O1n4a3nh3UciVJkiRJkiRJkjQ8xYpdgKQtwJ5zskvdKvj9lfDmXZBYW3jfeAvU/QXu+Aukt4bdPg3HfRMqqwe3ZkmSJEmSJEmSJA0LjhSXNHhqxsEpP4TLF8IRt0JsD0j3cBkKgNgSeP0auHwqXHEEPP2nwatVkiRJkiRJkiRJw4KhuKTi+Mjx8N2H4YyXYfKJ0FbT876xFLQ+Bfd+Ds7fDm76GixbMHi1SpIkSZIkSZIkqWQZiksqrnFbw2k3wKUL4cjbILF3z/ceB0jUwpI74IZZcOEe8L+XQ1P9IBUrSZIkSZIkSZKkUmMoLmloiERg37lw/v3wH+/AjG9AatIG9g8hsgBeuSo7vfplh8CDd0AmM2glS5IkSZIkSZIkaegzFJc09IwYBSd+Hy59HT5zH1TPgWR5z/vHUpB8Dh7+Gnx3a7j2X+DVxwetXEmSJEmSJEmSJA1dsWIXIEkbtPNs2PkuSLbBX38Gz9wOmTezI8ULSTRB3V/hf/4KyXGw3ZHw0TNgyk6DW7ckSZIkSZIkSZKGBEeKSyoN8QR87Otw0dNwxqsw9TRITdzIMavg/V/Bzz8M390ZfvFNWLZwUMqVJEmSJEmSJEnS0GAoLqn0jJ0MJ18Nl74BJ/4NxhwLbSN63j8AYkth0S/ghj3ggt3hjvNh9fuDVbEkSZIkSZIkSZKKxOnTJZW2GR+CGXdAJgNP3A1//xk0PguxZOH9IyGwCN7+f/CfN0CwA3zgeDj6azByzGBWLkmSJEmSJEmSpEFgKC5peIhEYL9PZJfWZvjLz+DF/4HkaxDN9HBMCMyH134IL18DsR3hA3PhiH+DmnGDWb0kSZIkSZIkSZIGiKG4pOGnrAI+fmZ2aaiFP/8EXvktZN7OBeEFRDMQvg6vXAkv/QAiU2HHY+DIr8C4rQexeEmSJEmSJEmSJPUnQ3FJw9uIUfCp87LL2hXw5/8Hr98NvLvhgJz58NZ18MZ/QbgN7HAEHPFV2HrG4NUuSZIkSZIkSZKkzWYoLmnLMXoCfO5i4GJYuRjuvQ7e/hNElkDQwzGREFgM794MN94M6Ykw5RA4/Ksw7YODWLwkSZIkSZIkSZL6wlBc0pZp/BQ4+WrgaljyFvz5v2Dh/RDdQEAeALFlsPTXcPuvITkWtvoIfORE2PPI7H3NJUmSJEmSJEmSNKQYikvS1jPg1Ouyz5cthPt+Cm//mQ1OsQ4QXw1r/gj3/BF+XwEjdoeZc+GQk6By5CAULkmSJEmSJEmSpI0xFJekziZuDyddCVyZvQf5X38Kr/8B0vNz9xrvQbwZWp+GfzwNT34XIjvA9CPgsFNh8rTBql6SJEmSJEmSJEldGIpLUk9GT4DPXAhcCA21cN9N8PLd0PY6xFI9HxfNAG/D/Lfh7RsgNR4m7Qcf+VfY4zCnWZckSZIkSZIkSRpEhuKS1BsjRsEnvp1dWpvhb7fBC7+Dhpeyo8R7EgDxlbDqbvjD3fDbCqj8AOzyUTjk5GzwLkmSJEmSJEmSpAFjKC5Jm6qsAj76leySycDz8+Cx22H54xBbnQ3CexJvhuSz8NKz8MJlkNkKJu4L+3wa9jzSUeSSJEmSJEmSJEn9zFBckjZHJAIfOjK7ALz3Bjzwc3jnfsgs3PB9yCMhRJbBqt/DPb+H3yegfGfY6Sg45CQYP2VQXoIkSZIkSZIkSdJwZiguSf1pm53g5Kuzz5vqs9Osv3Q3NL4M8ZYNHxtvg/RL8OpL8MoPsvciH/ch2ONY+MgnsyPUJUmSJEmSJEmStEkMxSVpoFRWw8e+nl0yGXjhAXjyTnj/sewI8UjY87Ht9yKv+ws8/Bf429eBbWDyPrD3J5xqXZIkSZIkSZIkqZcMxSVpMEQisOec7AJQtwoe/CW8+idoeAUSzRs+PpoBFsHyRXDP/8Dv45CYBtsdAPt9FmZ8aMBfgiRJkiRJkiRJUikyFJekYqgZB3PPyi6ZDLz6GDz2K3jvUQje2/AocoB4EsLXYeHrsPAmaKuCqp1h2sGw36dhyk6D8jIkSZIkSZIkSZKGOkNxSSq2SAR2OyC7ADTUwsO/glf+DLUvQaJu430kGiH5LLz+LLz+o2xIXrkjTD0APvIpmDpzQF+CJEmSJEmSJEnSUGUoLklDzYhRcMzXsgvAkrfgkV/D23+Dptc3PtU6ZEPy1PPw1vPw1nXQVgkVM2Dq/jD7k063LkmSJEmSJEmSthiG4pI01G09Az5zIXBhdv31p+DxO2HRI5BaALHUxvtINEH6RXj7RXj7/0FbBZRPh+33gw9/AnbcOztiXZIkSZIkSZIkaZgxFJekUrPz7OwCkE7BM3+GZ34Hy54BlkA0vfE+Es2Q+Se8809456eQTEBsW5i4J+x2BOx9NJRXDejLkCRJkiRJkiRJGgyG4pJUyqIxmH1sdgFItsI/7oUX/wRL/wGZ93o3kjzeBrwNy9+G5f8D8wJIT4DRu8KMg2D2XJi4/QC+EEmSJEmSJEmSpIFhKC5Jw0m8DD5yfHYBSLbB8/PguT9kQ/L0u70LySMhRJZDw3J4/m/w/PegbQRUTINtZ8OeH4NdD3DKdUmSJEmSJEmSNOQZikvScBZPwIePyS6QnW79hQeyIfmSpyC5EOLJ3vWVaMjel3zBi7DgRvhNDIJJMOYDMH1/+NAxMHnagL0USZIkSZIkSZKkvjAUl6QtSTQGHzoyuwBkMvDaE/DcPfDuE9D0NiTW9a6vWApYDHWL4dm/wrMXQFsFlG0HE2bCLofCXh+FEaMG6tVIkiRJkiRJkiRtlKG4JG3JIhHYdb/s0m7lYnjy9/DWw7DmZQhWQDTTu/4SzRC+Dstfz96b/G8BpGpgxHTYZi/Y7XDY/aDsCHZJkiRJkiRJkqRBYCguSco3fgoc+w3gG9n11mZ49i/w0l9g2XOQfBfirb3rKxJCohbanoF3noF3fgq/j0BmHIycBlvPgl0Phd0PzN4PXZIkSZIkSZIkqZ8ZikuSNqysAj5yfHaB7JTr77wIz90LC5+EujcgsrL3o8mjGYiugJYVMP8JmH9DLigfA1VTs0H5LgfDBw/NnluSJEmSJEmSJGkzGIpLkjZNJALTZ2WXdslWePFv8M95sOQ5aHoH4nUQ9LLPaAaiq6BtFSz4Byy4Ee4JID0aKreHSXvAjvvB7gdDzbj+f02SJEmSJEmSJGnYMhSXJG2+eBns9dHs0q5uFfzjHnjjYVjxEqTeg3hL7/uMhBBZA8k1sOg5WPQLmAckqyAxGcbsBNt+CHY9CKbNyob1kiRJkiRJkiRJXRiKS5IGRs04OPyU7NJu8Rvwwl9hwVOw+lVIvb9pQXkAJBqBt2DNW7DmHngBSEUhHAcjtodJM2H6Ptnp10eO6ccXJEmSJEmSJEmSSpGhuCRp8EzZKbt0tmwBPPcXeOdJWPUKtC2BRNOm9RtLA8uhdTksfAoW3pQ/qnz0jrD1TNhpX9h5n+zIdkmSJEmSJEmStEUwFJckFdfEqXD0V4Gvrm9buRie+yu8/RisehVa34N4Q+/vUQ75o8rXvgVr/wQvA5kAUtVQNglGz4Ctd4edPgI7zYZ4ol9fmiRJkiRJkiRJKj5DcUnS0DN+Chx5anZpt24NvPQQvPU4LP0nNCyAYFVulPgmiISQqIOwDta8Dmv+CP+kU1g+GUZPh20+mA3Ld9zbsFySJEmSJEmSpBJmKC5JKg0jx8B+n8gu7TIZeOdFePlBWPRcNuRuW7rpo8qhS1j+WjYsf4n1YXliAlRvD1vtAlP3hF32g9ET+vEFSpIkSZIkSZKkgWAoLkkqXZEITJ+VXTpbtwZe/Bu8/SQsfQkaF0G4CuLJPpwjF5ZTB/VvQf08eAu4D0iWQTAGKreGMdNhykyYMRum7QFR/4uVJEmSJEmSJGko8C/2kqThZ+QY2P+E7NLZsgXw8sOw8FlY8Ro0LYZwdd/CcoB4K7A0Ozp92TOw7E74B91Hl4+fAdvsBjP2gskzsmG+JEmSJEmSJEkaFIbikqQtx8Sp2YVT8tvfnw+v/B0WPgMrX4fGxRCshliqb+cpNLp8PvAwkI5AuhoS42HEFBg3LRuYT/sQbLuLI8wlSZIkSZIkSepn/uVdkqTJ07ILX1jflsnA0vnw6qOw6EVY9SY0LIb0Kog3bfo9y9tFMxCtBWqh4S1o+BssBB4lF5iPhPg4GLENjJ0GW+8KO8yC7XeHeGLzXqckSZIkSZIkSVsgQ3FJkgqJRGDrGdmlq6Z6eP0pmP8MLH0Fat+B1mUQ1EIs3fdzRjMQzY0wb5wPjQ/DIuAJclOyV0CkBsq3gur2Uea7wPYfhG12clp2SZIkSZIkSZIKMBSXJGlTVVbDnnOyS2eZDCx5C954Iju6fOUb0LgEUqsh1pCdVr2vIiEkmoAmSC2FNS/AGuDN9nMHkKqC6Bio2ApqpsCEGbDNB7IjzcdPMTSXJEmSJEmSJG2RDMUlSeovkQhM2Sm7dJVsg3dfgfnPwpJXYPV8aHgPkqsgui47Snyzzh1CogFogLZFsPIfsBJ4Jbc9FYVMFURHQfl4GDkZxk4lGD+VMatqoaUR4qM2rwZJkiRJkiRJkoYgQ3FJkgZDPAHTZ2WXrjIZWPRadjr2xf+EVfOz9y9vWwnR+s0PzCE3rXt9dkkugjXPwhqIvQUHAOEPL4ZUGTAS4qOhciLUbAPjpsLknWC73WHiVEebS5IkSZIkSZJKjqG4JEnFFonA9rtml64yGVi2AN55Ht57NRuY1y2G5uWQWQuxps2blj0nCIB4K9AKrIKmt6AJWAr8s72WAFKV2fuaJ8ZA5QSomQxjtoWtpsHWO8E2O0K8bLPrkSRJkiRJkiSpvxiKS5I0lEUiMHladikknYJFr8LCl2DJa9nQfN0SaF0BYR3EmiHor1pCSDQCjZB5H3KztbOE9cF5SG7EeRVEa6B8HIyYCKO2gfHbw6QZMGUXGD3RUeeSJEmSJEmSpEFhKC5JUimLxmDqzOxSSGszLHgJ3v0nrJgPa96Fde9D60pI1xFGGwn6Y3r2dnkjztdA2wJYk33KO532S0cgXQGRkdl7mZePhaoJMGoyjJkCE7aHSdOzU7ZH/XFFkiRJkiRJktR3/pVZkqThrKwCdp6dXQpItbby4G9/xSFTxxFf/jasnA91S6BxKbStBtZBrKX/Rpu3i2Ygmht1Hi6DZrLLqi77hUAqAWElRKshMQoqxsHIrWD0FBi3LWy1A0yeATXjHH0uSZIkSZIkSeqm16H4WWedxZVXXkkikRjIeiRJ0mCKRGiuGgt7fRTi8cL7JFth0euw6GVY/jasXgjrlkHLSkjWAg0QbemXe5t3EwDxNqANqIX0ovXTti/tsm86AulyCKogOiIboJePhqpxUD0RRk/Ohujjt4VJO0B5Vf/XK0mSJEmSJEkacnodiv/4xz/mvvvu4/bbb2fWrFkDWZMkSRpK4mUw7YPZpSfpFCxbAO+9Dsvnw6p3cyPOl0PrGkjXQaQRYqmBqzOagWgT0ASshBTrA/TlBfZPRSFTDkHl+hC9YgxUjc+F6JNgbG4q94nbG6JLkiRJkiRJUonqdSj+ve99j8svv5x99tmH7373u3znO98h4hSlkiQJsvf93npGdtmQpnpY9BosfQuWvwNrF0PDCmheBW21kFkHQRPEkv0/ZXtXsTSQm8K9PURfl1uWFdg/FYVMGQTlEKmC2Egoq4HyUVA1FkaMh5qtcmH6NtkR6U7pLkmSJEmSJElFt0mh+HHHHcfJJ5/MRRddxD333MPtt9/OjjvuOJD1SZKk4aSyeoP3OO+QbIWl78DSt2HlQljzHtS9D40roWU1JOsgbIBISy7cHgSxNNlR6E3Amuz9zltyS20Px2QCSMchLMuOSI9VQbwaykZBxWgYMQ5GjodRuendx0yGsZOgapRhuiRJkiRJkiT1k16H4gCzZs3i2Wef5Xvf+x5XX301s2bN4oorruAb3/jGQNUnSZK2RPEy2HaX7LIx69bAkrdg2Tu5aduXwrrl0LwGWmshVQ+ZRgiaB2cEemeRECLt90Rfl21L5ZZGYFUPx2UCSMdyYXoZRNoD9RGQqIaKUVDZHqqPg5oJ2RHqoyfCmEkQTwzCi5MkSZIkSZKk0rBJoThAPB7n8ssv5+Mf/zinnHIK3/zmN7nqqqsoKyvrtm8QBMyfP79fCpUkSSpo5JjejT6H7L3PV74HyxfAqkWwZgnULctN4b66U4jeVJwQvV0khEgSSJK9Kfrq7Mj09ny9YSPHp6IQJrJLpAKilRAbAYmRkBgB5blgvaIGRoyBkWNhxFgYvVU2YK8Zl50SX5IkSZIkSZKGgT7/tXP8+PGMGTOGMAxZunRpf9YkSZI0MKIxmLh9dumNZBusXpIbhb4Y6pbDupXQsCo7Er2lFpL1kG6EsBmCVogms6F2McXSQHNuqcu2FWjqUQikoxDGs8F6UAaRcohWZEesJ0bkwvUaqByVDdhHjs0G7NXjss9rxmc/sOCodUmSJEmSJElF1qdQ/Kc//SnnnHMOjY2NfP3rX+eqq66ivLy8v2uTJEkqrngCJk7NLr2VyUDtCli5GFa/B2vfh/qV0LASGldD81poq4PUuuyI9LAFIq2Dd2/03gjI1ZMme9P0Ttqnf2/qZV/pCGRyATtxCBIQKcsG7NEKiFVCvBISVdkR7OUjsyPYK3PLiDEwYnQ2bK8e6/3WJUmSJEmSJG2yTQrF33//fb74xS8yb948ttlmG+6++24OPfTQgapNkiSp9EQiMGZidmHv3h+XbIXVS2HN+1C7PDcqfXV2VHrTWmipg7Z6aFuXHZmeac4G6kEbRFPFH53ek2gmu5Dsvq09d2/dhP46RrHH1gftkdy916OJXNhelg3aYxWQqMwuZSOhrAoqRmbD98rqbOheNQqqqrOj2yurHdkuSZIkSZIkDUO9DsVvv/12zjjjDGpraznppJO47rrrqK6uHsjaJEmSthzxsk2b2r2zTAbWrckG6muXQ+2y3Oj0VdC4BpproTUXqKeasoF6pgXC1myoHknlgusSkDeKvUCa3r6prY/9Z4LcyPZYdiEOQRwi7SPcy7NLrDwbvMcr1j+W5Ua8l7UvldkQvn2pzD1W1UCiwhHvkiRJkiRJ0iDpdSh+8sknM378eH73u98xd+7cASxJkiRJmyQSgZpx2WUTZnrPk2zNTvteuwLqVmRHqa9bBY212ZHqzXXZUL11HSQbIdWYDdYzLUDb0B+x3luRMPshAVKFt2dyS5Ls/dn7KgQyEQij6xdiEMSyIXyQgEgujI+WZZdYLoyPlfUQxFdmw/ayKijLbSurgvIqqBiRfSwf4Wh4SZIkSZIkbXF6HYp//OMf58Ybb2T8+PEDWY8kSZKKIV4G46dkl83R0gh1q6B+VXb0emMtNK6FpjpoqoWWXLDe2pAN15NNkG6GdC5gz7SSDdlT2SWazo4OH24CcqPze5havl3I+vu4b8o08xvSEci3L1EgtwQx1ofzMYjEcqPk49np6SOJ7GMsN119vD2kr8g9lmeXsvZp69unsK+ARG5bIre9I7ivNKiXJEmSJEnSgOp1KP773/9+IOuQJEnScFCeG5m81Xb9018mkw3W61dng/aGtdCwJhey12VHsDfXQbIZ2hqzj6lcyJ5ugUxbdgnbgOT6sD3IlM6U8f0tL5DvhZD109IPlBAIg1xIn3skmnvMPQ+i6x+DaH5wH8RzAX4sF97HIZoL8qO55+1BfqwstySyS6J9BH5un1g8+yGRePn657HcBwDiuf0TFdnn8XKIxpwKX5IkSZIkaYjrdSheClpbW7nwwgu5/fbbWbt2LTNnzuTSSy9lzpw5Gz12yZIlfPOb3+S+++4jk8lwyCGHcO2117LDDjsMQuWSJEkqKBKBkWOyy9Yz+rfvdAoaarNBe2Nd9rF5XTZsb1mXfd7akF3amjqF7k2QyoXu6dZs4B6mIEwCKQjS2cdIJhu+l/qU8oMhAIL29H0ThbmlmJ9xyAS5MD8Ago4wPxYGHBtC8FSMbLgfgaD9sWvQH8kF/dFc0B+FSDQb8AfRbLDfvt7xAYD2DwHkjom075fb1rktGl3/AYFoPLs9lts3lsj1Fc99OCD3YYL29nhuPZ77IEH7eizXjyRJkiRJ0hA3rP6Cccopp3DXXXdx5plnMmPGDG699VaOPvpoHnzwQfbff/8ej2toaOCQQw6hrq6O888/n3g8zrXXXstBBx3ECy+8wNixYwfxVUiSJGlQRGPr78U+kJKt0LQuG7w31UNLQzZwb2mA5lzo3toErbnQva0pu6RaINWaH8Bn2iCTzI1+T3YJ4tPZED7I5AL5gX1Z6iTSnszny0Xkm6aPnw0omvZR/tDlgwHtrz43+p/I+vX2xyAgO3V/0OnDAp0fc+0dbUHugwSdnged9un4cEGn9Uju2Einbe3PI9H1Hz4IgtyHEXLt7UvH9kjugwbtz+PZvjv2bf8AQq6P9g8cRDrv2/5Bhs4fYMjt23mfSDT7IYb2WtpnI8hbj3Zqc6YCqZjCTIYwExKG2SWTznQ8D9ufk2vPhNn9w5AwE5IJ89fXt2f3zWRCCNf3HYYQhtn/bzqOIbtPtpbcfp22d+yb207Ypa3QfmHuvLkPnIWsP/f683far70N8mottF/7/5adX0/nNjraO5+7e5/Q+T3pum+n/5U7ree9d53bwvXnD+leU9h+zrzXuf59yWvLO/n6p2GnxrDT+brtV+BYertf59eY19Z9PwrtV6jvXu7X3hp2+slnQ7X0eD66FxvSranga9pgfxvdbwNtBY7tvLLxGnq3X6FzbLSGrsduYOMGjyvQ0JZs467H7tzgD7P9dr6B3rahjRt4gQNRy2b128f3e7Bf42BvG5DXt6H3Oujj+Ta0cQB+d9/Y92Gf+gz7v9ABqXOov5+5nxdufOR/+NMPT+zPntULwyYUf/rpp7nzzju5+uqrOfvsswE46aST2G233TjnnHN4/PHHezz2hhtu4K233uLpp59m7733BuCjH/0ou+22Gz/60Y+4/PLLB+U1SJIkaRiKl0FN2cCH751lMtkwvqUxG7y3NGZD+Nam9Utb+2MzJFuyj6mW7PNkC6TbcqF8azaQT7cH8slO4XzuhudhbmmfZz3oFNA7Wn546xjlDwPzJ41OwoE/RUnqePs7/fWn43mQ276B9fYl7LzeZVvXtqBzWyT/sWNbJLdLpw9DBF2Pb38e6bSt0wcioMsHJHo6vpePPR5H9oMGudcUEhASkGl/HkImhDCIkOm8TpBrzz0nsj5oa98v975kb1oRkMl9bTLt5+i0fya3f+f19n7SBB2hW4ZIR3/Z9fzHdBAQhtlzhWFIJoiQCbNX6Gx7rpbca8yEueedXlM6V2v7+5AOg45JOTqe52pP5/oKw3B9be195WoKWX/O9n/KYRisf12s7z/seH3ZfcJg/fu0vu7s/qlMyC8fuWX96+/4urW/T52+ju3H5r5e6VwbHa8hQiYIOiYeaX8tIQHp3Ne+Y9/274XAD6WUlqDLozTM9Ne3dgCUDeL5JGkL1JBqKXYJW6RhE4rfddddRKNRTjvttI628vJyvvSlL3H++eezePFipkyZ0uOxe++9d0cgDrDzzjtz2GGH8T//8z+G4kPEhKefzj6JRjf94J13hunTC2/7y18glepbUVOnwq67Ft72t79BU1Pf+p08Gfbcs/C2Rx+F2tq+9Tt2LOy7b+FtTzwBq1f3rd9Ro6Cn2Rieew7ef79v/VZWwqGHFt72yiuwYEHf+o3F4KijCm97+214/fW+9QvwsY8Vbn/vPXjhhb73e/jhUF7evX3ZMnjmmb73u//+2a9fV7W12e+1vtprL5g4sXt7Swvcf3/f+91jD9hmm8Lb7rmn7/1uydeIdHr99XXCBK8R4DWiM68RWaV6jSiryC6dw/hHH4XaEKjILWOzvxHEcqsbsjk/R2QyEKZzIXvb+sdMEsoTsOO0TuF8S3ZbsgUWLYDaNdnwPUxlHzPJ9c/D3Dq5/jvC+Uw2qK2IZ9s7wvtcaJ/O9RHkopNI+2OYPS4I1+d80lDXkfH0dhzZEDVIn63ojU6x/pbBnLBftH/goT3kJ+9x/XNygT5d9uvc1vm4QscU6jf/mML9buhc7TqPAuv6zzFvFHDX43rYr9D6hrbln6Pv+9LnWns+54b33fBr7u37synn7yp/lPbAvOae9ut+XH/t219fn97Z2Htc+JjBOU9fLtKbWlvfXv/Qfc8Gq7a+fW36cEwfihvK79uw+/ps8hFD++szlPXtGjr0ZCJR4JPFLmOLE4RhXy6nQ8+cOXNYsmQJr776al77Aw88wOGHH84f/vAHjj322G7HZTIZKisr+eIXv8gNN9yQt+2CCy7g0ksvpb6+npEjR/aqjvr6empqaqirq6O6urrvL0h5kskk8USi7x1ssw0sXlx42wamPNmompqew6fN6besLBsM9He/kQike5iPMxrN/sG6r3q6lJSXQ2tr//c7ahTU1fV/v1OmZMOp/u73Qx/Khn999cc/Fg7Tjj8e7r677/2edx4U+uDP+efDFVf0vd+5c+H3v+/efs89UOBa3Gt77gnPPlt42+b82/AakeU1YuP9eo3I8hrRP/16jVhvqF4j2lOxCNlZviNB9vlz/8gF962QSuZG17fC10+HtavWHxMJcse19xEU7q99/bhjswF+OpkL85OQScMbr0FD/YaPDwqt55aqyuyx7eMzg/b5cNNAJv94SZIkSZI0oGrDKkZd3MeBQuqmt9nssBkpvnTpUiZNmtStvb3t/R5Goa1Zs4bW1taNHrvTTjsVPL61tZXWTn+oq6+vB7IhbjKZ3LQXoR4lk0nim3F8JgxJ9/D1iNH3D8SHYUhqIPoF+91Yv2HfPxO2oX6jYbhZI0J6+ncfyWTowxwH6/tNp6FA35F0ekD6JZ3erH9z6XSazED0m8kU7he8Rthvfr9eI7L9eo3o4DXCfvP67e01IjsvcHZJZhtCILX9zIK7R1eeSWRJ328Inpz364LtkQ9/mOgLK/re792/gqOP7t7vJz9J9I9/zG/sHKZ3PA+6B+2RgOTnPgOf+yxkUgSp3HT6qTb43e+I/eVP2Rm5IwGpWDS7RGOkYxHS0SjpWJR0tP15hEwkQjoWJRMJSI8bS2bKNmQyGTJhhgwhYZgh09JKuGY1mUhAGAkIIxHCCGSCSEdNYSSAADK5R4KAIBISBhBEAoJIBIJOE1QH2XGSkdxjNDd5dSQ3cXI073kmf59cP9HcBM3RQvuwfp9I0MOHNCRJkiRJW5SqtBlif+rtezlsQvHm5mbKyrrf7KQ8N5Voc3Nzj8cBfToW4IorruDiiy/u1n7fffdRWVm58cLVax/fjGNbWlqYd++9Bbcdtxn9plIp7h2AfjOZzID0Sxj23O9mThrRU78f28ygp6d+j06lNivg6KnfOS0tbM6/3J76PbC+ntGb0e8zTz9NoT+F7718OZM3o9935s/n9QI17zx/PoU/CtQ7y5cv5x8F+p3w9NP0MPFur9TX1/P3Ht5jrxGb36/XiI336zUiy2vEel4jcv16jQCG1jUiBFqjcVpjCZ565ClWr2ogk0qTSmXIpDKkUhkmrotRNn02bbE4rdEErbHs/nnPYwnaorHu7dEEzS01tPxmDUkiJINI7rGCZNmJtM39PMlojGS0j+90W4G2BFDgzgub9Kb0/TML/SDsCMqjuaB9fai+/jGSm9C4/Q7GETIEQef29m1hx/ZIrr3zOdr3X39Mpw8BdNre+XwFj+l47HRM0PXYzjV1PjazgRqzHywIoKPv7ufv9B50aVt/J2ryagmC7ts6v1edJ5Bev319H923dX1e4Nhg/YTUnesLCImE+cdl1zO5z5kU7rNrH+vPA91eLyGEPdW2/jmd3pv29yCSq7nj9uqdtnU+zkkkJEmSpP4VCzP8oYe/AWjTNfXyFoTDJhSvqKjIG7HdriU3dWRFReGbJLa39+VYgPPOO4+zzjqrY72+vp4pU6ZwxBFHOH16P9rcT8yUl5dzdIHRMZsrFosNSL+RSGRA+iUIeu43CPp2c5qcnvqNRDbvTnw99RuLbd7lq6d+o4XuydsP/UYuumiz+t3rwx8uPMLr5ps3q98dpk1jh0I1P/74ZvW71VZbDcj3cHV19YD06zUix2vERvv1GpHjNaJfeI1Yb7hfI0IgGYnRHC+jNZagOV5GS6ws95joaE+ujdPSlqKlLUVrW5rmZJqWVIZ/zPwErTslO/bPhtKdQ+t4NqzuFFq3xbrceuitAoXN/hLM3qy3QpskyI0pj5Da1EP7a5B5L/qJpVNEM2limTTRMEMskyaSyRAL0+vbM2limUyn/XKPkyYRDSAWkA382+8g8MbrRMNMdmaUTo/rn6eJZjJEOrVFwpBomCYSZogcdzyRSEA0CLKPkexj7Je3EU0miYYZgjADYbj+HGG2vrzzhhminWoIb/wZ0WiESDRCNJJ9jEQjJD77GWKNDd3qjYQhkVytXV9HkNsehCGZ5qbsrARdRKdOJbJkSZ+/fMm2Qp8WaZ9N4oW+93v33R0/R3S+tXvB2SS66unWvwEkv/lN+O531t9eIwwhzMDllxP/r//a6PHrn+en8uk5h5P5z/8kmU7x5GOPsc8+s4nH4/Dww8S//vUN97WBbemddyJz403ZGtvfiUz2MX74Yb16zYWeZ8aPJ/2zn67/fzLMEOSeRz/z6fW7dr3FyUb6DquqSF97bbYp9/3f3n/ka1/L766X7y0BhPE4mcsu7f7/ehgSOf88Ck56saEPTrTXG4mQueii/H5zzyPfv4Sg621YNvZhjPZ+Ccicf163WgEiP/oRQbKt4HEFT9JpNQQy3zqrU8P6uiM//SlB5wE0vay1o9/TT+/UsP51B7/6FZHOt3fpxfvaWebf/q3TWTr54z1Eli/r4bgNfN+19zvncJg8ufvX7rFHiSxY2KdaATK77w67fiC/MQzh1VeJvPzyJr2vef1O2Rb2+lD3DStWEHn8sY102rPM2HFwwP5dWnPfa//3f5vQU37h4YgqwkMPLbznH/6Y3bsPH04Ky8oI58wp3O8992z0W6HHfmMxwiOPzK3kf68Ff/5zx/WtRz2cJ4xE1vfb9ZC//rX7NWJj2q8RQUB4xBGFd3ngAYLUJv9UlusXwiOOLPg7UPDwwwRtfbsFVAiFv25hSPDkEwSNjX3qFyBz2GEF24PnniNYuza30od+99gDRnf/CG/w2msEy5YVPqgX58lM3QG23bb7hkWLiCx4p3fFFThPOGErwp137r5h7Voi/3ypd/12O09AWFNDuPvuBTdHHn20b/0CYWUF4Z575la6/Jt7/PG+fMmyXSUShHvtVXDbZvUbixJ+uPAvmcETT2z8GtFTv5GAcJ99KfQLTfDkk33vl4Bw330Kbguefpqgp1vIbbRfCPctPOwjeOZZ1u20I1Wjxg3M3262UO2zeG/MsAnFJ02axJICv1wuXboUgMmTC4+TGjNmDGVlZR37bcqxkB1hXmiUeTwez/5Spn7zxPnns9eHP0w8uunjhSI770ykp6/Hn/8MffwBKJg6teev8wMPQC8/ndKt38mTe+73kUd6vv/oxvodO7bnfh99FFav7lu/o0b13O/jj0MPty/YaL+VlRvud8GCvvUbi/Xc70MPweuv96lfoOd+//hH2Iw/VMUPPxwK9X3jjfDMM33vd//9C/d73nlwwAF97je6115EC/V75JHZ96Kv/e6xR+F+YbP63ZKvEcl0mmeefjp7fZ0wwWsEXiPy+vUaAWzZ14i8fofpzxFhJqQtlaa5pY2mliRNbWma2lI0tSRpToU0JtM0pUKaUyFN6ZDmTEDL1XfRksrQnAppSYc0p6E1hOZPXZpdD6K0BDFaItmlORrPTvG9Ma+HZCPELj/v7nRwn94D9a9ILiCOhxliYYZ4mCYWZogFEI9AnJAYIXEgFoTEgpB4czMxQmJkstsDiJMhnguO24+JRSAeCYiF2eNikYBo9UhiY0YTjUaIRSPZx0jucdFCoukU0SDI7hvJPQZk940E2ceAbHt7H5GA6FZbEZ25G7FYjGg8Riy+/jHy5BMEdXV0+x7sjbFjoYc//PDEE32+RjBqFOzfNYTI+cj2fb5GUFkJh/ZQ77139fnnCGIxKPA3AmDL/DmiZlT3DRdcAocUDih6I7rXXkQnToRkknUvv0N86m7Z92bSdBi3Xd/73WMPottsU3jjrZsSeOWL7LwzkenTC2+8+U+b9XNEbNdde+h3xmb9HBFt/+N7VxP22ayfI6I9XSO2PXSzfo6I9nSN2GXuZv0cEe0hqGSvkzbrd43oUUcV3njQ6Zt1jYh87GOFNxx9/mZdIyKHHw6FPvj3yWWbdY2I7L9/9hrfVW1t9mfLvva7114wscDUMi0tcP/9fe93jz2gp2vEjHv63G+w884EPV0jPvCXzbpGBD1dI2b9bYPXiLy/E3T5O2wweTJBT9eIfR7drGtE0NM1Yr++/xwRjBpF0NM14rDnNusaEfR0jTjmlc26RgQ9XSPefntgrhHvvTcw14hlQ/MaEey1F8EAXCOCPfYg6Okacc8AXSP+MkDXiL9t+BqxwX43dI14dICuEZvxu8YGrxHPDcw1Ivniizy4cCFHH320GWI/6u17GYThZs51OER8+9vf5tprr2XNmjV5I7Qvv/xyvvOd77Bo0SKmTJlS8Ni9996bIAh4+umn89qPOOII5s+fz/z583tdR29v5q5Nk0wmuffee71QSFI/8/oqqVSEmQytTS001K6jsb6RhnVNNDe00NjUQnNzK03NSZpak7lgO0VzW5rGZIamVIbmNDSloSkT0BQGNBOhkShNQYzmIEYqsjmTtKuvgjAkEaZJhNmgOUGGOBkShLlHSAQh8SAkEUA8gEQku8QjAYlo0PGYiEaIRwMS8SjxaISyWJR4PEo8FiEWjRKPRYnFIsRjUeKJGLHc9lguDI7HosQSceLxGLFEnFg8SjwRJ16eIBaPE0/EicT8PpGGEn+OlaSB4fVVkgaO19iB0dtsdtiMFD/hhBP44Q9/yI033sjZZ58NZKdEv+WWW5g9e3ZHIL5o0SKamprYudMUGSeccAL/8R//wTPPPMNeuSkj3njjDf72t7919CVJkiRp06STKRrrGmisb6SxvoGG+iYaG5ppaGqlobGFxqY2GlpTNLamaGxL0ZAMaUyFNKShIRPQGGbD64YgRmMQ70V4HQHKcksXAX0a/DrcRMIM5ZkUZWGGMtIkyGSfB+H6JQJlAZRFIREJKIvmllgku8SjHUsiHiURj5FIxEjEoiTKssFyPBEjkYhn28vLiCdixMsSlJUniJclSFSUEY1FC04xLUmSJEmS1N+GTSg+e/ZsPvWpT3HeeeexYsUKpk+fzm233cbChQu5udP9NE866SQefvhhOg+Q//d//3duuukmjjnmGM4++2zi8TjXXHMNW221Fd/61reK8XIkSZKkomppbGbdmjrW1TZQv3Yd69Y1sW5dC+saW6hvamVdc5L61jTr2jKsS4XUp6EhE6GRCA3EaAxiNEUTGzlLjIK/kmwhAXZ5Jkl5Jk0FacpJU06G8iCkIggpj0BFJBtMV8QilEcDKuJRyuNRyuMRyuIxyhLZULosEacsEaOsLE5ZWYKy8jhl5QnKKspIlJdRVlFGWWUZZRXlxBJ+El2SJEmSJG15hk0oDvDLX/6SCy64gNtvv521a9cyc+ZM7rnnHg488MANHjdy5EgeeughvvnNb3LppZeSyWQ4+OCDufbaaxk/fvwgVS9JkiT1jzCToaF2HbUra6lbU099bQP1Dc2sa1gfaK9rSa0PtFOwLhNhHRHWEac+EqctsqFfFQqMxo7klmEgkUlREaaoCrOBdSUZKiMZKnNBdXkUyqMRKmIB5fFoLqyOUF4WpzwRpaI8QXlZnEQ8yptvv8HeH96LESOrqKiqoLyijIqRlZRVljtKWpIkSZIkaZAMq1C8vLycq6++mquvvrrHfR566KGC7dtssw3/+7//O0CVSZIkSZuupaGJulW11K6uo25tA7W1DdSta6auoYW65iR1LSlqWzPUpaA2HVBPlFoS1EcTpIOeAtdEbumkBAPtSJihKpOkMkxRSZoKMlQGIZWRkMoIVMayI6yr4hEq4lEqy6JUlsWpLI9TWZ6goqKMqqoyKirLqRxRQWVVBZXVVVRWV/XbaOpkMsma9Gp22fsD3itMkiRJkiSpiIZVKC5JkiQNRam2JGuXr6Z2ZS1rVtezdu061tQ1sXZdK2ua2rLBdjKkLh1Qm4lQF8SpjSQ2MFq7y0jtgJL4yb4sk2JEJsmIMEVVkGZEEFIVDamKwshYQFUiSlUiyojyGFXlcaoqyhhZVUbViAqqRlQworqKqupKRtSMpHxEhSOtJUmSJEmS1Csl8KczSZIkaehIJ1PUrlzL2pVrWbuqjjVrG1hb18SadS2sbWpjTXOa2mTImnTA2kyMNZEE9dGyAj1FgIrckhNlSN5LO5FJUZ1po5oUI8kwMpKhOgYj4wEjE1FGlkUZWRFnZGUZIyqzI7CrRlQwcmQlVdVVjKgZQWXNCOJlG7vHuCRJkiRJktT/DMUlSZK0RQszGerX1LNqyUpWr6xl9ep6Vq1tZNW6FlY3JVndmmFVMmB1GGUNCeqiZYRBUKCn8tySM0QC7miYoSbdysgwxcggTXUkw8hoe6AdobosxsiKONWVCUZWlTNyZAXVNVWMrBnByFEjGDmmhrLK8o2fSJIkSZIkSRqiDMUlSZI07CRb21i9ZCWrlq9h9ao6Vq1Zx+q6ZlY3tLKyOcXqNlidjrCKOKsj5SQjXdPrKFCVv1pkI9Ot1IRJRpGiJpKhJgY1iYCashijKuPUVJUxamQFNdWV1IwZSc3okYwaP5qqmhFOMy5JkiRJkqQtmqG4JEmSSkZzfSMr3lvOiqWrWbGyjhVrGlhR38KKxhQr2kJWpqOsIMGaWEWBozvdh7uI9+AemW5lTKaN0UGKMbGQUXEYXRbNBtsVCWpywfaoUVXUjKlm1NgaRo6tIZaIF6dgSZIkSZIkqcQZikuSJKmo2qcvX/neclYsXcOKVXWsWNvEinWtrGhKsSIJK9IxVkbKWNft3tzx3EJRgu4R6TZGh62MIc3oWIYxcRhVFmVMZYLRI8oYU1PJ6NEjGDO2mlHjRzN6qzHeV1uSJEmSJEkaZIbikiRJGjCZVJrVS1eybNFyli5dw/JV61ha28SyxiRLW2FZJsbSSAUtka6joDuN6o7klkEwIt3G2Ewr4yIpxsZCxpYFjK+MM3ZkOWNqKhg7ppox46oZM340NeNHe69tSZIkSZIkqQQYikuSJKlPUm1JVixexrL3VrJs6VqWrq5nWV0LSxtTLG8LWBrGWR6p6HK/7igwMvt0EMLuSJhhTLqFcbQxLpJhbALGlUcZO6KMcdXljBs9grHjaxg7YTTjJo+nfETlwBYkSZIkSZIkadAZikuSJKmgproGlsx/j/cWr2TJ8lqWrGlkybok77cFLAkTLI9WkAk6p9qJ3EI2+x5Alek2JmRamRBJMT4RMqEiyvgRZUwYVcGEcdVMmDiG8ZPH8//Zu+8wOctyf+Df7ambZElIIyGhht4RkA4iiIBABAsiCHJEBT0qIjYEBRvnJyoHERFiRQEFjhSlCNJ7UaSEFkgIBELKJmySLTO/P2Ii4yakkM3sTj6f69pLcz/vPHvPmL13nG/e9x20dlOqa7u4GQAAAACgWxOKAwCsgYqFQmZOm5GXnnspL700PVNebc5Ls+blpTc68lJbdaamV2bWvvnS4NVZfIZ3F2bMAzrmLwy7azqydkOydu/aDGnslbUH9c3aQwZk7eFrZe111k6/QY1d1wQAAAAAUFGE4gAAFWrOjNl58enJmfzCtLz4yuy8OHNeXmwp5KWO2kyt6p15NW++j/ebzvLugneINcVC1u6Yl2FVrRleV8ywPjUZPqBXhq3VL8OGDsqwkUMyZNTQ9Orbe9V/cwAAAABgjSYUBwDoodpb2/Ly81Mz+bmpeXHqjLz42py8OKctkxdU58VOZ3o3LPyqyip/B1hfaM+wwrwMq2rLsPpkeN/aDBvYO8MH98+wYU0ZPnpoBo9cOzV13noCAAAAAKufTyYBALqx+XNbMunJSZn03Mt54ZVZeXHm/LzYUsiL7XV5qaZP2qvffC3zf13efBW/w1urfV5GZEFG1hUysm9NRg7qnZFDB2bkiLUyfMzwNA1bK1XV1cveCAAAAACgDITiAABl1jpvQSZPfDGTnpua56e8nudnzMvzbxQyqdCQqbV933Rkr4VfVUnqlrLZCqopFjKsoyUjq9oyslcxI/rVZ2RTn4wcNigjR6+dkWNHpndj32VvBAAAAADQTQnFAQBWg4629kx9dkqef2ZKnp/8ep6f/kaen9uRSe11mVLbNx1Vi860/tdlzquz8OttqioWM7yjJaOqF2TdXlUZNbAhI9fqn5EjmjJy3aEZNmZEautXUcIOAAAAANANCcUBAFahltlz89w/n8szz07NM1Nn55lZrXm2tSYv1PRNa/Wit161SQassjO++3a0ZnSxJaPrChndvzajm/pm1IimjB47LCPXXycNfXotexMAAAAAgAolFAcAWAkzX56eZx5/Ps88Py3PvNKcZ+Z05JmO+rxU2+9NR/3rv6+C4HtY+xsZU70g6/auyugBvTJqaGNGjxqS0RuOyqChTe7pDQAAAACwFEJxAIClKBYKeW3Kq5n42HN56vlpeea1N/LsG8U8W+yd12t7/+uoqiw+6/ttvrNaq31exlTNz9jeydiBvTJ2xKCMGTs0Y8aNSZ8B/Za9AQAAAAAAnQjFAQCSzJ3ZnKcefToTn3k5T708O0/OKWRioXdmLA6/6xd+1by979O/Y0HGFudlTEMhYwc2ZOywxowdOyxjxo3JgMED3+azAAAAAADgPwnFAYA1Suu8BXnun8/mqScn56kpM/PUrLY82f7my55XJRmYVGfh10qoKhYzsuONbFDbmg3612aDYY1Zb921s9640VlrxBCXOgcAAAAAWI2E4gBAxZo+ZVoef+Tp/PPZaXn81ZY8taAmz1X3S3v1otO9+y/8j5V8R1RX6MjYwtxsUN+RDQbWZ/0Rg7LBhiOy3iZj07ux7yp5DgAAAAAAvD1CcQCgxyu0d2TyxBfyz78/n8dfmJ5/zmzN4+0NmVa7KJjutfBrJd/59O5oy4bFN7JB70I2WKtPNlinKRtsPCqjN143tfV1q+ppAAAAAADQBYTiAECP0jpvQSY+MjGPPzk5j0+Zmcebi3kifTKnpuFfR/zrMugr8S6npljI2I652bihPePW6pWNRg/OuE3XzaiN1k117du8mTgAAAAAAGUhFAcAuq3WeQvy5ENP5u//fDF/nzI7j7VU5enq/mlbfPnzgclKZtUj2+dmo9rWbDygLuPWGZiNNlon62+xQRr69FpV7QMAAAAA0A0IxQGAbqG9tS3P/P3p/P3vz+fvk2fl73OSJ6v7pbW6Nkl1kkEr9c6ld0dbxmVuNutXlU2GN2bchsOz4RYbpHHwwFX8DAAAAAAA6I6E4gDAaldo78ikJ57P3x95Jo++MCP/mF3IP9Mv82oW3Z974Eq9S2lqn5fNauZl04F12XRUUzbbYkzGbrpeauq85QEAAAAAWFP5hBgA6HKzpr2eh+95PA8/NTUPTW/No8W+b7oH+ICVugT66PY52ay+LZsO7pXNxq6dTbfaIEPHDE9VdfUq7R0AAAAAgJ5NKA4ArFIdbe2Z+PBTeeiR5/LwlNl56I2aPFfX+K/VfguvhL6C1mtvzpa92rPF8H7ZfKOR2WSbjVz+HAAAAACA5SIUBwDelhkvT88j9/wzD018JQ+93ppHi/3yRk19Ft8HvG5ZO5Qa2T43W9W3ZsuhfbLlRiOy+Q6bCMABAAAAAFhpQnEAYLkVC4W88MSk3Hffk7n/+Rl5oKUmz9eu/FngQ9pbslXt/Gw5pFe22GBYttxhXNYaMWSV9w0AAAAAwJpLKA4ALFVHW3ueeujJ3P/Qs7lvSnPuX9Arr9b2+dfqoBV6J9FQaM+WxTnZdlBNttlg7Wy9/bgMW29kl/QNAAAAAACLCMUBgMUWtMzPP+5+LPf944Xc/0pLHujomzk1DVn4lqFphd45jGqfk20a2rLtyP7ZdquxGbftuNT3buiq1gEAAAAAYImE4gCwBps/tyXTnn4t5/6/P+T+6W15tKoxC6prk/Ra+FWzfPv0KrQtPAu8qS7bbjg0W++4SdYePawrWwcAAAAAgOUiFAeANUjrvAX5+13/yF2PPJ+7ps3PQ2lMa/XwhYvLGYAnyeD2edmxfl52WKd/dth6vWy83bjUNdR3TdMAAAAAAPA2CMUBoIK1t7bln/f9M3c9+GzuntqS+wv9M6+mLkmfpLrPMh+/yOj2Odmhd3t2HDMoO+y4ccZutl6qqqu7rnEAAAAAAFhFhOIAUEGKhUKeeWRibrv7idw9eW7uXXxP8F5J1fJdDr2qWMzGHc3ZobGYHTcYkh122izD1hvZ5b0DAAAAAEBXEIoDQA834+XpueOvD+X2p17N7S31eaW2b5L6JE3LFYJXFwvZrGN2dmmqyY6bjMj279wiA9Zu6uq2AQAAAABgtRCKA0AP0zpvQR687ZHc/vDzuX16Rx6rGZBiVVWSQcv9m31c+6zsMrAqO248LHNaX8v7jjgydXV1Xdo3AAAAAACUg1AcALq5YqGQZ//xTG6/8/Hc/uKc3NPRLy019Un6L/dv8vXbm7NLYyE7bzQsO+2xVZqGD06StLW15brrruu65gEAAAAAoMyE4gDQDc2f25K7b34wtzz6Yv7aXJsptf2S1GV5L4k+ov2N7Na3NbtsOCQ777Zl1l53eFe3DAAAAAAA3ZJQHAC6iZeefjF//esjufX52bmz0D/zq+uSDFyu39a9O9qyc82c7Da6f3Z756ZZf4sNUlVd3dUtAwAAAABAtycUB4AyaW9ty0O3PZK/3v9sbnm9kKdqB2ThaeBNyXLk2Vu0z8pug2uy2zZjs+1uW6WhT6+ubhkAAAAAAHocoTgArEbN02fllj/fl5uemJa/tfZNc01Dlvfe4EPb38jufVqz28Zr5517bZO1Rgzp8n4BAAAAAKCnE4oDQBd75bmXcuOND+aG52bnnuKAtFX/62zwZdwbvLpYyDaF2dl7eK/s9c5x2WSHTV0SHQAAAAAAVpBQHABWsWKhkGcemZgbbn0sN0xdkEdrByapSaqakqq3fuzA9vnZo1dL9h63dnbfZ7sMGj54dbQMAAAAAAAVSygOAKtAR1t7Hrnjkdxw99O5YUbyfG1jkt5Jbe9lPnaT9lnZe0ht9tp+/Wyz+9apqfPrGQAAAAAAVhWfugPASmpvbct9Nz+Qa+97Ln+ZU5/ptX2SNC7zt2t9oT3vrG7OvusNzN77bpvh641cLf0CAAAAAMCaSCgOACugNAhvyPTa3kkGLvM3av+OBdm74Y3st/nw7PHu3dJvUOPqaBcAAAAAANZ4QnEAWIaVDcKHtb+R/Rrbst/2Y7PjXtulvnfD6mgXAAAAAAB4E6E4ACzBygbhG7XPzn5DarLfruOyxc5bpKq6enW0CwAAAAAALIVQHAD+pVgo5KHbHs7Vtz2Z65qXPwjftH1WDhzZkPe8a5uM3Xz91dEqAAAAAACwnITiAKzxnnnkqVz1l0dy9WvFTK7tnxUJwg/cb9uM2Wy91dEmAAAAAACwEoTiAKyRXnnupfzfNffmqhfn5fHagUn6CcIBAAAAAKACCcUBWGPMnj4r1199Z656akburRqUYlVDUtvwlo8RhAMAAAAAQM8mFAegonW0tef26+/JFfc+nxvaGtNaXZtUN73lY9Zrb84hw2py8P7buUc4AAAAAAD0cEJxACrSM488lSuufzhXvl6dabV9kzQl1Us/fu32lhw0sC3v22uzbL7zFqmqfouDAQAAAACAHkMoDkDFmP3qjPzflXfkD08355HaQUn6v+Vvuv4dC7J/75a8b6f1stO73p2aOr8WAQAAAACg0vj0H4AeraOtPbddd3euuG9Sblx0efTaQUs9vq7Qkb1rZud9W4/IXu/dO7369l6N3QIAAAAAAKubUByAHmnqs5Nz2ZV357JXkqnLcXn0LdtnZfz6/XLQ+96ZQcMHr7Y+AQAAAACA8hKKA9BjtLe25ZY/3ZlL75+cW4sDU6jq+5a/yQa3t+SwpvYc/u6ts/F2m6y+RgEAAAAAgG5DKA5Atzf5qRdy2dX35LJXqzJt0VnhVUs+tr7Qnn1rmzN+h9HZ/cD9Ultft1p7BQAAAAAAuhehOADdUtuC1tx89e357YNTc3sGpVjV7y1/a23WPitHujw6AAAAAADwH4TiAHQrr77wcn57+e259JUsPCu8qmmpx/braM3BfVvywXdtni3eeeBq7BIAAAAAAOgphOIAlF2xUMj9f30wv7zlyfy5bUDaq9/6XuFbt8/MBzcZlPeO3zd9B/RffY0CAAAAAAA9jlAcgLJpmT03V112S3751Jw8WTsgSVNSveRj+3csyGGN8/OBd2+VTXZ0VjgAAAAAALB8hOIArHbP/eOZ/Orq+3LF7F6ZU9OQ1A5Y6rHbdczMhzZfK+859N3p3dh3NXYJAAAAAABUAqE4AKtFsVDIbdfelZ/f8Xxuq2pKMiCpWfKxvQpteV/vufnIe7bOZu9wVjgAAAAAALDyhOIAdKn5b8zLVb/7ay5+YnYm1g5IqpqWeuy6bXPykTH1ef+Re2bA2ks/DgAAAAAAYHkJxQHoEq9NfiW//t1t+fW06rxe23upl0ivKhazV9XMHL3L2Oz+nv1TXbuU08cBAAAAAABWglAcgFXqqQefyM+vfjBXze+f1uq+S/1NM6Bjfo4c1JqjDt0pozcZu3qbBAAAAAAA1hhCcQDetkX3C7/ojudze1VTkkFJ9ZKPXb+9Ocdt3C+HHrl/ejf2Xa19AgAAAAAAax6hOAArrb21Lddedkt+8shrebJ24FveL3zXwowc984x2eNAl0gHAAAAAABWH6E4ACts/tyWXP6bm3Lh0y2ZXNs/qR24xOPqC+05pNecfOy922STHQ9cvU0CAAAAAABEKA7ACmiePiu//vXNuXhKIdNr+yS1/Zd4XFP7vBw1tJCjjtw9a48etpq7BAAAAAAA+DehOADL9OqLr+Ti39ya38yoz5yaXkv97bFeW3M+vkn/HPqB96RXvz6rt0kAAAAAAIAlEIoDsFQvPvF8fnrZXbn8jX5pre6fLOVW4Fu1z8qJ7xie/Q51v3AAAAAAAKB7EYoD0MkLjz+X8353V/64YEA6qgYm1Us+brfijJy414bZeb8DUlW9lIMAAAAAAADKSCgOwGKT/vlcfvy7u3JV64B0VA1KqjofU1Us5j01M/OJA7fMFu88cPU3CQAAAAAAsAKE4gDk+ceezY9/f1euah2YwlLC8PpCew7vPScnvH/njN18/dXfJAAAAAAAwEoQigOswZ599Omcd8U9ubp1YApVTUsMw3sV2nLUgHn5+If3yNAxI1Z/kwAAAAAAAG+DUBxgDfTMoxPz48vvzZ/alh6G9+5oy9GD5uXjR++dwesMXf1NAgAAAAAArAJCcYA1yOQnJ+Xc39yRK1sHLDUM79PRmo80LcgJH90na40YsvqbBAAAAAAAWIWE4gBrgFdfeDnn/eKvuXRu/7RVL/me4X07WnP0Wgvy8Y/um6bhg1d/kwAAAAAAAF1AKA5QwWZNez0XXHxjJszslfnVA5Pqzsf07WjNMYNbc9zR+wjDAQAAAACAiiMUB6hAc2c255JL/pILX67JnJr+SwzD+3S05tjBrTn+6H0ySBgOAAAAAABUKKE4QAVpnbcgv7nk+pz3XHter+2T1HQ+pr7Qno80vpETj9kng9cZuvqbBAAAAAAAWI2E4gAVoFgo5Nrf35zvPfh6Xqztn9TWdTqmpljIEb1m56Sj98iI9UeVoUsAAAAAAIDVTygO0MPde+N9OfsvE/No7aCktv8Sjzm4Zkb++4O7ZOzm66/m7gAAAAAAAMpLKA7QQz3zyFP5zu/uy01pSmoHLfGYfTMjnz9s22yy44GruTsAAAAAAIDuQSgO0MO8+uIr+cHFN+X38wakUNW0xGO27ZiZL+8/LtvvIwwHAAAAAADWbEJxgB5i/tyW/OzCa/OTl2vTUjMoqep8zNj25py649p59/gPpaq6evU3CQAAAAAA0M0IxQG6uWKhkGt/f3O+/eCMvFTbL6npfMxa7fPymfXr8sGPHZ66hvrV3yQAAAAAAEA3JRQH6MYeu+vvOfPKv+e+mkFJbb9O670Kbfn44AU54fj9079pQBk6BAAAAAAA6N6E4gDd0KsvvpJzLroply8YmGLNoE7rVcVijug1K587du8MHTOiDB0CAAAAAAD0DEJxgG5kQcv8XPKza3PelOrMXcp9w3cqzMjXD98mm75j89XfIAAAAAAAQA8jFAfoJm65+vaccdtLmVTXf4n3DV+nfW6+ssPg7P/+D6equnr1NwgAAAAAANADCcUBymzKxBdy5iW35YZiU1LXv9N6n47WfGpER4474eD06tu7DB0CAAAAAAD0XEJxgDJZ0DI/F11wTX78Sm3mVzct8Zjx9TPzxeP2ydrrDl/N3QEAAAAAAFQGoThAGdx2zR05/dbJeb62MVnCldC37ZiZ0w/ZPFvteuDqbw4AAAAAAKCCCMUBVqOpz07ON39+a64vNCW1jZ3W12qfly9t1ieHf+SDqa5dwo3FAQAAAAAAWCFCcYDVoG1Bay7+6Z9y7uSazKvpfKn06mIhR/Vtzuc/cUAGrL3kS6kDAAAAAACw4oTiAF3s0TseyZeu+meeqB2YLOHk763bZ+Zbh22ZzXfZcrX3BgAAAAAAUOmE4gBdZO7M5pxz3jX5xdzGFGsHdlof1D4/X9qkV97/UZdKBwAAAAAA6CpCcYAucOMfbs3X7341L9cOSKpK16qKxXyw9+x88cT9M3DoWuVpEAAAAAAAYA0hFAdYhaZNmppvXHhzri80JbV9O61v3D473z5oXLbd471l6A4AAAAAAGDNIxQHWAUK7R357cXX5btPt2VOTVOn9YZCez4zoj0fP3F86hrqy9AhAAAAAADAmkkoDvA2Tfrnc/nihDtzX01TUtPQaf2dhRk566PvzJjN1itDdwAAAAAAAGs2oTjASupoa8+EC/+U779QlflLODt8UPv8fG2Lvjn0Ix9OVXV1GToEAAAAAABAKA6wEp599Ol88df35sGaQckS8u7D62bmK5/ZP03DB6/+5gAAAAAAAFhMKA6wAjra2vPzn/xf/mdKTRbUDOq0vk773Hxn71HZ9T0HlqE7AAAAAAAA/pNQHGA5PfPIU/nCr+/PI7VLPjv86D6zcupnDk7fAf1Xf3MAAAAAAAAskVAcYBk62tpz4flX5wcv1aa1tvPZ4eu2zcl33z02O+3n7HAAAAAAAIDuRigO8BZefOL5fO7iO/PAEu4dXlUs5tj+zfnCSQenz4B+5WkQAAAAAACAtyQUB1iCYqGQyy65Pmc+2Zo3lnDv8LHtzfn+ARtm+33eW4buAAAAAAAAWF5CcYD/8NrkV3La/96Ym9KU1NSXrFUVi/n4gDn53MmHpFe/PmXqEAAAAAAAgOUlFAd4k79ccUu+fM/reb22qdPa6PY5+X8HbODscAAAAAAAgB5EKA6QZM6M2fnmuX/KZa2DktrendY/2DAzXzn14PQb1FiG7gAAAAAAAFhZQnFgjffAzQ/ks9c/mym1ne8dPrh9Xr6zy+Dse9iBZegMAAAAAACAt0soDqyxOtrac94P/5gfvtY7hdp+ndb3q5qRb39u/6w1YkgZugMAAAAAAGBVEIoDa6Spz07OZy+4NffVNCVVpWv9Olrz9U0b8v6PfjhV1dXlaRAAAAAAAIBVQigOrHH+fPlfc+p9MzO7pqnT2o4dM/M/x+2aUePGrP7GAAAAAAAAWOWE4sAaY/7clnzrf67Mr+cNTGp6lazVFAv576ELcuJJH0hNndEIAAAAAABQKSQ/wBrhqQefyEmXPpyJtQM7rY1sn5sfHbh+tttr+9XfGAAAAAAAAF1KKA5UtGKhkN9cdG2++UwhC2oHdFo/sHpGzv7SQRkweODqbw4AAAAAAIAuJxQHKtbcmc350jlX55qOpqS6umStV6EtZ2xclyOO/XCq/mMNAAAAAACAyiEUByrSkw88nk/+7tE8V9vUaW2T9ln58VHbZ4OtNy5DZwAAAAAAAKxOQnGg4lx+yXX52hOtmV/b2GntmL6z86XPHZZefXuXoTMAAAAAAABWN6E4UDHmz23J17/3x1zWOiipritZa+xYkHPeMSj7jT+wTN0BAAAAAABQDkJxoCI8/9izOXHCPXmydlCntS3aZ+X849+ZUePGrP7GAAAAAAAAKCuhONDjXfu7m3Lqg3Myt3Zgp7WP9JmVr37h8DT06bX6GwMAAAAAAKDshOJAj9W2oDVnf/+KXDJ3QFJTX7LWp6M139m6bw7+8IfL1B0AAAAAAADdgVAc6JGmT5mWT/7whtxX09RpbeP22fnfj2yfDbbaqAydAQAAAAAA0J0IxYEe59E7HsknrpqYl2s7B+KH183Mt758aHo39i1DZwAAAAAAAHQ3QnGgR7n8kuvylSfa0lpbGnrXF9rzzY1rc8SxH0pVdXWZugMAAAAAAKC7EYoDPULbgtZ887uX55ctA5Pq0tE1ov2NXHDoxtnynVuVpzkAAAAAAAC6LaE40O29NvmVfOpHN+W+mkGd1t5RmJH//ex+GbzO0DJ0BgAAAAAAQHcnFAe6tYf/9lBO/NMzeaW2cyD+sX6zc9opR6auob4MnQEAAAAAANATCMWBbuuKCdfly493vn94Q6E939m8IYce/aEydQYAAAAAAEBPIRQHup2OtvZ875wr8tPZ/TvdP3xk+9z89LBNsvkuW5apOwAAAAAAAHqS6nI3sKrMmjUrJ5xwQoYMGZK+fftmr732ykMPPbTMxxUKhUyYMCEHH3xwRo0alb59+2bzzTfPt771rcyfP381dA682dyZzfmvr126MBD/D7sUZuRPn99HIA4AAAAAAMByq4gzxQuFQg488MA8+uijOeWUUzJ48OCcf/752XPPPfPggw9mww03XOpjW1pacuyxx2annXbKJz7xiay99tq5++67c/rpp+fmm2/OX//611RVVa3GZwNrrikTX8jxF96RJ2ubOq0d1292TvviB1JbX1eGzgAAAAAAAOipKiIUv+KKK3LXXXfl8ssvz/jx45MkRxxxRDbaaKOcfvrp+e1vf7vUx9bX1+fOO+/MLrvssrj28Y9/PGPGjFkcjO+7775d/hxgTffgrQ/mv655PtNrB5bUawsdOWvjmhx5nPuHAwAAAAAAsOIq4vLpV1xxRYYOHZrDDjtscW3IkCE54ogjcvXVV2fBggVLfWx9fX1JIL7IoYcemiR54oknVn3DQIkrf/nnfPC6KZle27ukPrB9fn6979AcedyBZeoMAAAAAACAnq4iQvGHH3442267baqrS5/OjjvumJaWlkycOHGF93zllVeSJIMHD14lPQKdFdo78r3v/C7//XhHWqtLL1yxfntzrv7YNtlpv3eUqTsAAAAAAAAqQUVcPv3ll1/O7rvv3qk+fPjwJMnUqVOzxRZbrNCe3/ve99LY2JgDDjjgLY9bsGBByZnozc3NSZK2tra0tbWt0Pdk6Ra9ll7TyjFvzhv5wvf/LzcU1+q0tntxRs79wgHpv9YA/5tDFzNfAbqOGQvQdcxYgK5hvgJ0HTO2ayzv69ntQvFCoZDW1tblOrahoSFVVVWZN29eGhoaOq336tUrSTJv3rwV6uHss8/OTTfdlPPPPz8DBw58y2O//e1v54wzzuhUv+GGG9KnT58V+r4s24033ljuFlgF5s+el189vCCPNXS+EsOh7S9m912G5fZ77yxDZ7DmMl8Buo4ZC9B1zFiArmG+AnQdM3bVamlpWa7jul0oftttt2WvvfZarmOfeOKJjBs3Lr17917ifcPnz5+fJOndu3entaX5/e9/n69+9as57rjjcuKJJy7z+NNOOy2f+9znFv+5ubk5o0aNyn777ZfGxsbl/r68tba2ttx4441517velbq6unK3w9vw/GPP5vhfP5IX/yMQry105PT1ivnAcceXqTNYM5mvAF3HjAXoOmYsQNcwXwG6jhnbNRZd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bHlVFYvFYrmbAAAAAAAAAICu4ExxAAAAAAAAACqWUBwAAAAAAACAiiUUBwAAAAAAAKBiCcUBAAAAAAAAqFhCcbq1BQsW5NRTT82IESPSu3fvvOMd78iNN95Y7rYAuqX7778/n/70p7PZZpulb9++GT16dI444ohMnDix07FPPPFE9t9///Tr1y9NTU35yEc+ktdee63TcYVCId/73vcyduzY9OrVK1tuuWUuvfTS1fF0ALq1s846K1VVVdl88807rd11113Zdddd06dPnwwbNiwnn3xy5s6d2+k473UB/u2hhx7KwQcfnKampvTp0yebb755fvSjH5UcY74CrLinn346H/jAB7LOOuukT58+GTduXM4888y0tLSUHGfGAizd3Llzc/rpp2f//fdPU1NTqqqqMmHChCUe2xWfuy7vnry1qmKxWCx3E7A0H/zgB3PFFVfks5/9bDbccMNMmDAh999/f2655Zbsuuuu5W4PoFsZP3587rzzzrz//e/PlltumVdeeSXnnXde5s6dm3vuuWdxcDNlypRss802GTBgwOL/k3vOOedk9OjRue+++1JfX794z9NOOy3f+c538vGPfzw77LBDrr766lx77bW59NJL84EPfKBcTxWgrKZMmZKNN944VVVVGTNmTB577LHFa4888kh23nnnbLLJJjnhhBMyZcqUnHPOOdlrr71y/fXXl+zjvS7AQjfccEMOOuigbLPNNjnyyCPTr1+/PPvss4s/KEzMV4CVMXny5Gy55ZYZMGBAPvGJT6SpqSl33313JkyYkIMPPjhXX311EjMWYFkmTZqUsWPHZvTo0VlvvfVy66235pJLLskxxxxTclxXfO66InuyDEXopu69995ikuL3v//9xbV58+YV119//eLOO+9cxs4Auqc777yzuGDBgpLaxIkTiw0NDcUPf/jDi2snnnhisXfv3sUXXnhhce3GG28sJin+9Kc/XVybMmVKsa6urvipT31qca1QKBR322234jrrrFNsb2/vwmcD0H0deeSRxb333ru4xx57FDfbbLOStQMOOKA4fPjw4uzZsxfXfvaznxWTFP/yl78srnmvC7DQ7Nmzi0OHDi0eeuihxY6OjqUeZ74CrLizzjqrmKT42GOPldSPPvroYpLijBkzisWiGQuwLPPnzy++/PLLxWKxWLz//vuLSYqXXHJJp+O64nPX5d2TZXP5dLqtK664IjU1NTnhhBMW13r16pXjjjsud999dyZPnlzG7gC6n1122aXTvwzccMMNs9lmm+WJJ55YXPvDH/6Q9773vRk9evTi2r777puNNtool1122eLa1Vdfnba2tnzyk59cXKuqqsqJJ56YKVOm5O677+7CZwPQPd1222254oorcu6553Zaa25uzo033pijjjoqjY2Ni+tHH310+vXrVzJjvdcFWOi3v/1tpk2blrPOOivV1dV54403UigUSo4xXwFWTnNzc5Jk6NChJfXhw4enuro69fX1ZizAcmhoaMiwYcOWeVxXfO66vHuybEJxuq2HH344G220UcmbsSTZcccdkyy8rA8Ab61YLGbatGkZPHhwkuSll17Kq6++mu23377TsTvuuGMefvjhxX9++OGH07dv32yyySadjlu0DrAm6ejoyEknnZTjjz8+W2yxRaf1f/zjH2lvb+80Y+vr67P11lt3mrHe6wIkN910UxobG/PSSy9l4403Tr9+/dLY2JgTTzwx8+fPT2K+AqysPffcM0ly3HHH5ZFHHsnkyZPz+9//Pj/5yU9y8sknp2/fvmYswCrSFZ+7rsieLJtQnG7r5ZdfzvDhwzvVF9WmTp26ulsC6HF+85vf5KWXXsqRRx6ZZOFsTbLU+TpjxowsWLBg8bFDhw5NVVVVp+MScxhY81xwwQV54YUX8s1vfnOJ68uasW+em97rAiz09NNPp729PYccckje/e535w9/+EM+9rGP5YILLsixxx6bxHwFWFn7779/vvnNb+bGG2/MNttsk9GjR+cDH/hATjrppPzgBz9IYsYCrCpd8bnriuzJstWWuwFYmnnz5qWhoaFTvVevXovXAVi6J598Mp/61Key884756Mf/WiSf8/OZc3XhoYGcxjgTV5//fV8/etfz9e+9rUMGTJkiccsa8a+eW6asQALzZ07Ny0tLfnEJz6RH/3oR0mSww47LK2trfnpT3+aM88803wFeBvGjBmT3XffPYcffnjWWmutXHvttTn77LMzbNiwfPrTnzZjAVaRrvjcdUX2ZNmE4nRbvXv3XuK/cFl0+bTevXuv7pYAeoxXXnklBx54YAYMGLD4nl/Jv2fn8sxXcxjg37761a+mqakpJ5100lKPWdaMffPcNGMBFlo07z74wQ+W1D/0oQ/lpz/9ae6+++706dMnifkKsKJ+97vf5YQTTsjEiROzzjrrJFn4D48KhUJOPfXUfPCDH/QeFmAV6YrPXVdkT5bN5dPptoYPH7740hBvtqg2YsSI1d0SQI8we/bsHHDAAZk1a1b+/Oc/l8zLRZfaWdp8bWpqWvwvC4cPH55XXnklxWKx03GJOQysOZ5++ulceOGFOfnkkzN16tRMmjQpkyZNyvz589PW1pZJkyZlxowZy5yx/zmPvdcF+Pe8Gzp0aEl97bXXTpLMnDnTfAVYSeeff3622WabxYH4IgcffHBaWlry8MMPm7EAq0hXfO66InuybEJxuq2tt946EydOTHNzc0n93nvvXbwOQKn58+fnoIMOysSJE3PNNddk0003LVkfOXJkhgwZkgceeKDTY++7776S2br11lunpaUlTzzxRMlx5jCwpnnppZdSKBRy8sknZ+zYsYu/7r333kycODFjx47NmWeemc033zy1tbWdZmxra2seeeSRTjPWe12AZLvttkuycNa+2aL7KA4ZMsR8BVhJ06ZNS0dHR6d6W1tbkqS9vd2MBVhFuuJz1xXZk2UTitNtjR8/Ph0dHbnwwgsX1xYsWJBLLrkk73jHOzJq1KgydgfQ/XR0dOTII4/M3Xffncsvvzw777zzEo87/PDDc80112Ty5MmLazfffHMmTpyY97///YtrhxxySOrq6nL++ecvrhWLxVxwwQUZOXJkdtlll657MgDdyOabb54rr7yy09dmm22W0aNH58orr8xxxx2XAQMGZN99982vf/3rzJkzZ/Hjf/WrX2Xu3LklM9Z7XYCFjjjiiCTJz3/+85L6RRddlNra2uy5557mK8BK2mijjfLwww9n4sSJJfVLL7001dXV2XLLLc1YgFWoKz53Xd49Wbaq4n+emw/dyBFHHJErr7wy//3f/50NNtggv/jFL3Lffffl5ptvzu67717u9gC6lc9+9rP54Q9/mIMOOmjxh4tvdtRRRyVJJk+enG222SYDBw7MZz7zmcydOzff//73s8466+T+++8vueTOF7/4xXz/+9/PCSeckB122CFXXXVVrr322vzmN7/Jhz70odX23AC6oz333DPTp0/PY489trj20EMPZZdddsmmm26aE044IVOmTMn//M//ZPfdd89f/vKXksd7rwuw0HHHHZeLL744RxxxRPbYY4/ceuutufzyy3Paaafl7LPPTmK+AqyM2267LXvvvXfWWmutfPrTn85aa62Va665Jtdff32OP/74/OxnP0tixgIsj/POOy+zZs3K1KlT85Of/CSHHXZYttlmmyTJSSedlAEDBnTJ564rsifLUIRubN68ecUvfOELxWHDhhUbGhqKO+ywQ/HPf/5zudsC6Jb22GOPYpKlfr3ZY489Vtxvv/2Kffr0KQ4cOLD44Q9/uPjKK6902rOjo6N49tlnF9ddd91ifX19cbPNNiv++te/Xl1PCaBb22OPPYqbbbZZp/rtt99e3GWXXYq9evUqDhkypPipT32q2Nzc3Ok473UBFmptbS1+4xvfKK677rrFurq64gYbbFD8wQ9+0Ok48xVgxd17773FAw44oDhs2LBiXV1dcaONNiqeddZZxba2tpLjzFiAt7buuusu9XPX559/fvFxXfG56/LuyVtzpjgAAAAAAAAAFcs9xQEAAAAAAACoWEJxAAAAAAAAACqWUBwAAAAAAACAiiUUBwAAAAAAAKBiCcUBAAAAAAAAqFhCcQAAAAAAAAAqllAcAAAAAAAAgIolFAcAAAAAAACgYgnFAQAAAAAAAKhYQnEAAACoUHvuuWeqqqrK3QYAAACUVW25GwAAAACWbUXD7WKx2EWdAAAAQM8iFAcAAIAe4PTTT+9UO/fcczN79uwlriXJL3/5y7S0tHR1awAAANCtVRX903EAAADokcaMGZMXXnjBWeEAAADwFtxTHAAAACrUku4pPmHChFRVVWXChAn505/+lHe84x3p06dPRo4cma997WspFApJkl/84hfZaqut0rt374wePTrf//73l/g9isViLr744rzzne9MY2Nj+vTpk+233z4XX3xxlz8/AAAAWB4unw4AAABroCuvvDI33HBD3ve+9+Wd73xnrr322nzrW99KsVjMgAED8q1vfSuHHHJI9txzz/zhD3/IF7/4xQwdOjRHH3304j2KxWI+/OEP59JLL82GG26YD33oQ6mvr8+NN96Y4447Lo8//njOOeecMj5LAAAAcPl0AAAA6LGWdfn0PffcM3/7299K1idMmJBjjz02dXV1ufPOO7PDDjskSebMmZMNNtggc+fOTWNjY+68886st956SZLJkydngw02yMYbb5y///3vi/f62c9+lhNOOCHHHntsfvrTn6auri5J0tramvHjx+dPf/pTHnjggWy33XZd9RIAAADAMrl8OgAAAKyBjjrqqMWBeJL0798/733ve9PS0pITTzxxcSCeJKNGjcquu+6axx9/PO3t7Yvr5513Xvr27Zv//d//XRyIJ0l9fX3OOuusJMmll166Gp4NAAAALJ3LpwMAAMAaaOutt+5UGz58+FuudXR0ZNq0aRk5cmRaWlryj3/8IyNGjMh3v/vdTse3tbUlSZ588slV2jcAAACsKKE4AAAArIEaGxs71Wpra5e5tijsnjlzZorFYl566aWcccYZS/0+b7zxxqpoFwAAAFaaUBwAAABYYYuC8+222y4PPPBAmbsBAACApXNPcQAAAGCF9e/fP5tsskmeeOKJzJo1q9ztAAAAwFIJxQEAAICVcvLJJ6elpSUf//jHl3iZ9Oeffz6TJk1a/Y0BAADAm7h8OgAAALBS/uu//iv33HNPfvGLX+TOO+/MvvvumxEjRmTatGl58sknc++99+a3v/1txowZU+5WAQAAWIMJxQEAAICVUlVVlQkTJuQ973lPfvazn+Waa67J3Llzs/baa2fDDTfMOeeck3333bfcbQIAALCGqyoWi8VyNwEAAAAAAAAAXcE9xQEAAAAAAACoWEJxAAAAAAAAACqWUBwAAAAAAACAiiUUBwAAAAAAAKBiCcUBAAAAAAAAqFhCcQAAAAAAAAAqllAcAAAAAAAAgIolFAcAAAAAAACgYgnFAQAAAAAAAKhYQnEAAAAAAAAAKpZQHAAAAAAAAICKJRQHAAAAAAAAoGIJxQEAAAAAAACoWEJxAAAAAAAAACqWUBwAAAAAAACAiiUUBwAAAAAAAKBiCcUBAAAAAAAAqFhCcQAAAAAAAAAqllAcAAAAAAAAgIolFAcAAIBuaNKkSamqqsr+++9f7lbe0p577pmqqqpytwEAAABLJRQHAAAAAAAAoGIJxQEAAAAAAACoWEJxAAAA6CGOOeaYVFVV5fnnn8+PfvSjjBs3Lg0NDVl33XVzxhlnpFAolBw/YcKEVFVVZcKECbn66quz4447pk+fPhkyZEg+9rGPZdq0aSXHL7pk+zHHHLPE719VVZU999yz5M9/+9vfFv/3RV9vfvwtt9ySAw44ICNGjEhDQ0OGDh2a3XbbLRdeeOEqeU0AAABgWWrL3QAAAACwYk455ZT87W9/y3vf+968+93vzlVXXZVvfOMbaW1tzVlnndXp+D/84Q/5y1/+kvHjx2fffffNPffck0suuSS333577rvvvgwaNGil+jj99NMzYcKEvPDCCzn99NMX17feeuskybXXXpuDDjooAwcOzCGHHJLhw4fntddey6OPPppf/epXOeGEE1bq+wIAAMCKEIoDAABAD/PQQw/l73//e4YPH54k+drXvpYNN9wwP/7xj3P66aenvr6+5Phrrrkmf/7zn/Pud797ce20007Ld77znXz961/Pj3/845Xq4xvf+EZuvfXWvPDCC/nGN77Raf3iiy9OsVjMLbfckq222qpk7fXXX1+p7wkAAAAryuXTAQAAoIf52te+tjgQT5LBgwfnkEMOyZw5c/LUU091On7fffctCcST5Ctf+UoGDhyYX/7yl50uu76q9e7du1NtrbXW6tLvCQAAAIsIxQEAAKCH2W677TrV1llnnSTJrFmzOq3ttttunWr9+vXL1ltvnebm5jz33HOrvMck+cAHPpAk2WmnnfLpT386V155ZaZPn94l3wsAAACWRigOAAAAPUxjY2OnWm3twjukdXR0dFobOnToEvdZVJ89e/Yq7O7f3v/+9+eqq67KFltskQsuuCCHHXZY1l577eyzzz555JFHuuR7AgAAwH8SigMAAECFmzZt2lvWBwwYkCSprl74MUF7e3unY1c2OD/kkEPyt7/9LTNnzsz111+f448/Prfeemv233//JZ7VDgAAAKuaUBwAAAAq3O23396pNnfu3DzyyCNpbGzMeuutlyQZOHBgkuSll17qdPzDDz+8xL1ramqSLPkM9Tfr379/9t9//1x44YU55phjMm3atNx7770r8jQAAABgpQjFAQAAoMLddNNN+ctf/lJSO+usszJr1qwcffTRi88Qb2xszMYbb5w77rgjzzzzzOJj58yZk9NOO22Jezc1NSVJJk+e3GnttttuW2JY/uqrryZJevXqtXJPCAAAAFZAbbkbAAAAALrWe9/73hx00EEZP358xowZk3vuuSe33HJL1l9//Zx55pklx37+85/PCSeckJ133jnvf//7UygUcv3112eHHXZY4t577713rrjiihx++OE54IAD0qtXr2y11VY56KCDcvLJJ2fq1KnZddddM2bMmFRVVeWOO+7Ifffdl5122im77rrr6nj6AAAArOGE4gAAAFDhDj/88Bx//PE566yzctVVV6VPnz455phj8u1vfzuDBg0qOfbj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Ktq2bNmS5PP55Iorrphse8c73pF0dHQkv/71ryfbNm3alERE8rnPfW6y7bHHHktyuVzyrne9a7KtVCol/+k//afk6KOPTsbGxur4agCWtssuuyx52ctelpx33nnJqaeeWrHvggsuSNauXZv09vZOtn3hC19IIiL5p3/6p8k2v+8ClPX29iarV69Ofvd3fzcpFouzHqe+Ahy4G264IYmI5OGHH65of/Ob35xERLJ79+4kSdRYgP0ZHh5OnnjiiSRJkuSBBx5IIiK55ZZbao6rx3ev8+2TuVk+nSXrG9/4RrS0tMTVV1892dbe3h5XXXVV3HvvvbFt27YGjg5g6XnRi15U81eBJ5xwQpx66qmxefPmybZvfvOb8epXvzo2bNgw2fbyl788TjzxxPj6178+2fatb30rCoVCvPOd75xsy2Qy8Y53vCMee+yxuPfee+v4agCWrrvvvju+8Y1vxKc//emafX19fbFp06Z405veFN3d3ZPtb37zm2PZsmUVddbvuwBlt956a+zcuTNuuOGGyGazMTAwEKVSqeIY9RVgYfr6+iIiYvXq1RXta9eujWw2G21tbWoswDzk8/lYs2bNfo+rx3ev8+2TuQnFWbIefPDBOPHEEyt+EYuIeOELXxgR5SV9AJhbkiSxc+fOWLVqVUREbN++PZ588sl4wQteUHPsC1/4wnjwwQcntx988MHo6uqK5zznOTXHTewHONQUi8V4z3veE29729viuc99bs3+f/u3f4uxsbGaOtvW1hZnnHFGTZ31+y5AxA9+8IPo7u6O7du3x0knnRTLli2L7u7ueMc73hHDw8MRob4CLNT5558fERFXXXVVPPTQQ7Ft27b4m7/5m/irv/qruOaaa6Krq0uNBVgk9fju9UD6ZG5CcZasJ554ItauXVvTPtH2+OOPH+whATSdr33ta7F9+/a47LLLIqJcWyNi1vq6e/fuGBkZmTx29erVkclkao6LUIeBQ9NnP/vZ+PWvfx0f/ehHZ9y/vzo7vXb6fReg7NFHH42xsbF47WtfG//5P//n+OY3vxlXXnllfPazn423vvWtEaG+AizUq171qvjoRz8amzZtijPPPDM2bNgQb3jDG+I973lPfOpTn4oINRZgsdTju9cD6ZO5tTZ6ADCboaGhyOfzNe3t7e2T+wGY3SOPPBLvete74pxzzon/8l/+S0RM1c791dd8Pq8OA1R5+umn43/9r/8VH/rQh+KII46Y8Zj91dnptVOdBSjr7++PwcHB+IM/+IP48z//84iIuPjii2N0dDQ+97nPxUc+8hH1FeAZOPbYY+Pcc8+N3/u934vDDz88vvOd78THP/7xWLNmTbz73e9WYwEWST2+ez2QPpmbUJwlq6OjY8a/bplYOq2jo+NgDwmgaezYsSN+53d+J3p6eibv9xUxVTvnU1/VYYBK//N//s9YuXJlvOc975n1mP3V2em1U50FKJuod2984xsr2i+//PL43Oc+F/fee290dnZGhPoKcKD++q//Oq6++urYsmVLHH300RFR/sOjUqkUH/jAB+KNb3yj32EBFkk9vns9kD6Zm+XTWbLWrl07uSzEdBNt69atO9hDAmgKvb29ccEFF8TevXvje9/7XkW9nFhmZ7b6unLlysm/Kly7dm3s2LEjkiSpOS5CHQYOLY8++mh8/vOfj2uuuSYef/zx2Lp1a2zdujWGh4ejUCjE1q1bY/fu3futs9U12e+7AFP1bvXq1RXtRx55ZERE7NmzR30FWKC//Mu/jDPPPHMyEJ/wmte8JgYHB+PBBx9UYwEWST2+ez2QPpmbUJwl64wzzogtW7ZEX19fRft99903uR+ASsPDw3HRRRfFli1b4o477ohTTjmlYv9RRx0VRxxxRPz0pz+tOff++++vqK1nnHFGDA4OxubNmyuOU4eBQ9H27dujVCrFNddcE8cdd9zkz3333RdbtmyJ4447Lj7ykY/EaaedFq2trTV1dnR0NB566KGaOuv3XYCI5z//+RFRrrXTTdxH8YgjjlBfARZo586dUSwWa9oLhUJERIyNjamxAIukHt+9HkifzE0ozpJ1ySWXRLFYjM9//vOTbSMjI3HLLbfE2WefHevXr2/g6ACWnmKxGJdddlnce++98bd/+7dxzjnnzHjc7/3e78Udd9wR27Ztm2z74Q9/GFu2bIlLL710su21r31t5HK5+Mu//MvJtiRJ4rOf/WwcddRR8aIXvah+LwZgiTnttNPi9ttvr/k59dRTY8OGDXH77bfHVVddFT09PfHyl788vvrVr8a+ffsmz//KV74S/f39FXXW77sAZa9//esjIuKLX/xiRfv/+T//J1pbW+P8889XXwEW6MQTT4wHH3wwtmzZUtF+2223RTabjdNPP12NBVhE9fjudb59MrdMUj0vH5aQ17/+9XH77bfHe9/73jj++OPjS1/6Utx///3xwx/+MM4999xGDw9gSbn22mvjM5/5TFx00UWTXyxO96Y3vSkiIrZt2xZnnnlmrFixIv7bf/tv0d/fHzfeeGMcffTR8cADD1Qst/P+978/brzxxrj66qvjrLPOir//+7+P73znO/G1r30tLr/88oP22gCWqvPPPz927doVDz/88GTbz372s3jRi14Up5xySlx99dXx2GOPxSc/+ck499xz45/+6Z8qzvf7LkDZVVddFTfffHO8/vWvj/POOy/uuuuu+Nu//dv44Ac/GB//+McjQn0FWIi77747Xvayl8Xhhx8e7373u+Pwww+PO+64I/7xH/8x3va2t8UXvvCFiFBjAebjpptuir1798bjjz8ef/VXfxUXX3xxnHnmmRER8Z73vCd6enrq8t3rgfTJHBJYwoaGhpL3ve99yZo1a5J8Pp+cddZZyfe+971GDwtgSTrvvPOSiJj1Z7qHH344eeUrX5l0dnYmK1asSK644opkx44dNX0Wi8Xk4x//eHLMMcckbW1tyamnnpp89atfPVgvCWDJO++885JTTz21pv1HP/pR8qIXvShpb29PjjjiiORd73pX0tfXV3Oc33cBykZHR5MPf/jDyTHHHJPkcrnk+OOPTz71qU/VHKe+Ahy4++67L7nggguSNWvWJLlcLjnxxBOTG264ISkUChXHqbEAczvmmGNm/e71V7/61eRx9fjudb59MjszxQEAAAAAAABILfcUBwAAAAAAACC1hOIAAAAAAAAApJZQHAAAAAAAAIDUEooDAAAAAAAAkFpCcQAAAAAAAABSSygOAAAAAAAAQGoJxQEAAAAAAABILaE4AAAAAAAAAKklFAcAAAAAAAAgtYTiAAAAkFLnn39+ZDKZRg8DAAAAGqq10QMAAAAA9u9Aw+0kSeo0EgAAAGguQnEAAABoAtddd11N26c//eno7e2dcV9ExJe//OUYHBys99AAAABgScsk/nQcAAAAmtKxxx4bv/71r80KBwAAgDm4pzgAAACk1Ez3FN+4cWNkMpnYuHFjfPvb346zzz47Ojs746ijjooPfehDUSqVIiLiS1/6Ujzvec+Ljo6O2LBhQ9x4440zXiNJkrj55pvjxS9+cXR3d0dnZ2e84AUviJtvvrnurw8AAADmw/LpAAAAcAi6/fbb4/vf/3687nWvixe/+MXxne98Jz72sY9FkiTR09MTH/vYx+K1r31tnH/++fHNb34z3v/+98fq1avjzW9+82QfSZLEFVdcEbfddluccMIJcfnll0dbW1ts2rQprrrqqvj5z38en/jEJxr4KgEAAMDy6QAAANC09rd8+vnnnx///M//XLF/48aN8da3vjVyuVzcc889cdZZZ0VExL59++L444+P/v7+6O7ujnvuuSee9axnRUTEtm3b4vjjj4+TTjop/vVf/3Wyry984Qtx9dVXx1vf+tb43Oc+F7lcLiIiRkdH45JLLolvf/vb8dOf/jSe//zn1+stAAAAgP2yfDoAAAAcgt70pjdNBuIREcuXL49Xv/rVMTg4GO94xzsmA/GIiPXr18dLXvKS+PnPfx5jY2OT7TfddFN0dXXFX/zFX0wG4hERbW1tccMNN0RExG233XYQXg0AAADMzvLpAAAAcAg644wzatrWrl07575isRg7d+6Mo446KgYHB+Pf/u3fYt26dfGnf/qnNccXCoWIiHjkkUcWddwAAABwoITiAAAAcAjq7u6uaWttbd3vvomwe8+ePZEkSWzfvj2uv/76Wa8zMDCwGMMFAACABROKAwAAAAdsIjh//vOfHz/96U8bPBoAAACYnXuKAwAAAAds+fLl8ZznPCc2b94ce/fubfRwAAAAYFZCcQAAAGBBrrnmmhgcHIy3v/3tMy6T/qtf/Sq2bt168AcGAAAA01g+HQAAAFiQ//pf/2v85Cc/iS996Utxzz33xMtf/vJYt25d7Ny5Mx555JG477774tZbb41jjz220UMFAADgECYUBwAAABYkk8nExo0b48ILL4wvfOELcccdd0R/f38ceeSRccIJJ8QnPvGJePnLX97oYQIAAHCIyyRJkjR6EAAAAAAAAABQD+4pDgAAAAAAAEBqCcUBAAAAAAAASC2hOAAAAAAAAACpJRQHAAAAAAAAILWE4gAAAAAAAACkllAcAAAAAAAAgNQSigMAAAAAAACQWkJxAAAAAAAAAFJLKA4AAAAAAABAagnFAQAAAAAAAEgtoTgAAAAAAAAAqSUUBwAAAAAAACC1hOIAAAAAAAAApNb/DwDt2DmXxnSZAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 2000x1600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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lVdeMT788EPj85//vDF27NghmyfBrh927dplSDI++OAD/7Z//vOfhsViMY4dO3bR527bts3Izs42Tpw4cU6we+211wyr1Wq4XC7/tt/85jdGcnKy0dbWNujz6I+BzP1sH374oSHJ2L9/v3/bp/88Qk2w5j6cPve//vWvht1uNzo6Ovzbhsvn/um5D4fPff369RcNdr/4xS8GsdrBFay5D9bfp2DqT42nTp0yoqOjjRdeeMG/bffu3YYko7y83L8t1L7v8+bNM775zW/6f/Z4PMaoUaOMVatWnXf/W265xbj22mt7bCsoKDC+9rWvGYZhGF6v13A6ncYjjzziHz916pQRExNj/OUvfwnCDM7Fqdh+KC8vV2pqqubMmePfVlhYKKvVqvfff/+Cz2tpadG//du/ac2aNXI6ned93UsvvVQOh8O/raioSA0NDaqoqBjcSfRTf+d+tubmZj3zzDMaO3ascnJyeox985vfVEZGhubNm6enn35aRgi1WQzW3IfL5y5J9fX1Sk5OVlRUz9tUR/rnLp079+H0uV/Iww8/rBEjRmjWrFl65JFHQuo0dLDmHuw/08HQnxq3bNmijo4OFRYW+rdNmTJFY8aMUXl5eY99Q+X73t7eri1btvSo2Wq1qrCw8Jyau5WXl/fYX/J9b7v3P3TokFwuV499UlJSVFBQcMHXHGxRgXfBp7lcLmVlZfXYFhUVpfT0dLlcrgs+7zvf+Y4WLFig66+//oKve/Y/8pL8P1/sdYdSf+cuSb/+9a/1ve99T83NzZo8ebLWrVsnu93uH//Rj36kz372s4qPj9fatWv1jW98Q01NTbr77ruDMpe+CtbcI/1z71ZTU6Mf//jH+upXv9pjeyR/7t3ON/fh8rlfyN13363LLrtM6enpevfdd7Vy5UqdOHFCjz322IBed7AEa+7B/DMdLP2p0eVyyW63KzU1tcd2h8PR4zmh9H2vqamRx+M57/fw09dBd7vQ97Z7jt3/e7F9go0jdme59957z3th59mPC33Ygbz66qt64403tHr16sEtepAEc+7dbr/9dm3btk1vvvmmJk2apFtuuUWtra3+8fvuu09XXHGFZs2ape9///v63ve+p0ceeWSgUwsoFOZulqGYuyQ1NDTo2muv1bRp0/R//+//7TEWyZ+7dPG5m2Wo5n4xK1as0OLFizV9+nR9/etf189/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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print('\\nTest Closed Loop System \\n')\n",
    "nsteps = 1000\n",
    "# generate initial data for closed loop simulation\n",
    "data = {'x': torch.randn(1, 1, nx, dtype=torch.float32),\n",
    "        'r': torch.zeros(1, nsteps+1, nx, dtype=torch.float32)}\n",
    "cl_system.nsteps = nsteps\n",
    "# perform closed-loop simulation\n",
    "trajectories = cl_system(data)\n",
    "\n",
    "# constraints bounds\n",
    "Umin = umin * np.ones([nsteps, 1])\n",
    "Umax = umax * np.ones([nsteps, 1])\n",
    "Xmin = xmin * np.ones([nsteps+1, 1])\n",
    "Xmax = xmax * np.ones([nsteps+1, 1])\n",
    "# plot closed loop trajectories\n",
    "pltCL(Y=trajectories['x'].detach().reshape(nsteps + 1, 2),\n",
    "      R=trajectories['r'].detach().reshape(nsteps + 1, 2),\n",
    "      U=trajectories['u'].detach().reshape(nsteps, 1),\n",
    "      Umin=Umin, Umax=Umax,\n",
    "      figname='cl.png')\n",
    "# plot phase portrait\n",
    "pltPhase(X=trajectories['x'].detach().reshape(nsteps + 1, 2),\n",
    "         figname='phase.png')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fd18fbb3",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f59b909f",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "neuromancer",
   "language": "python",
   "name": "neuromancer"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
